Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Petua untuk menghantar fungsi sebagai parameter dalam Golang

Petua untuk menghantar fungsi sebagai parameter dalam Golang

WBOY
WBOYasal
2024-04-13 16:36:02772semak imbas

Meluluskan fungsi ke fungsi Go membolehkan modulariti dan kebolehgunaan semula. Sintaks asas dicapai dengan mentakrifkan fungsi yang menerima fungsi sebagai parameter. Penggunaan lanjutan termasuk: penutupan, fungsi tertib lebih tinggi dan penapisan data.

Petua untuk menghantar fungsi sebagai parameter dalam Golang

Petua untuk menghantar fungsi sebagai parameter dalam bahasa Go

Dalam bahasa Go, menghantar fungsi sebagai parameter ialah ciri yang berkuasa dan fleksibel. Ia membolehkan anda mencipta komponen modular dan boleh guna semula dalam kod anda.

Basic Syntax

Sintaks asas untuk melepasi fungsi sebagai parameter adalah seperti berikut:

func main() {
    f := func(a, b int) int {
        return a + b
    }
    sum := process(f, 10, 20)
    fmt.Println(sum) // 输出:30
}

func process(f func(int, int) int, a, b int) int {
    return f(a, b)
}
e

digunakan penggunaan lebih lanjut untuk melewati fungsi sebagai parameter termasuk:

closure:
    Menangkap bahagian luar dalam pembolehubah fungsi dalam, walaupun fungsi luaran telah kembali.
  • Fungsi tertib lebih tinggi:
  • Fungsi yang menerima fungsi lain sebagai argumen atau mengembalikan fungsi.
  • Kes Praktikal: Penapisan Data

Kes praktikal biasa menggunakan fungsi pemindahan sebagai parameter ialah penapisan data. Coretan kod berikut menunjukkan fungsi yang menapis sekeping rentetan, menghantar fungsi sebagai hujah untuk menentukan sama ada untuk mengekalkan setiap elemen:

func main() {
    data := []string{"a", "b", "c", "d", "e"}
    filtered := filter(data, func(s string) bool {
        return strings.Contains(s, "a")
    })
    fmt.Println(filtered) // 输出:["a"]
}

func filter(data []string, f func(string) bool) []string {
    result := []string{}
    for _, s := range data {
        if f(s) {
            result = append(result, s)
        }
    }
    return result
}

Kesimpulan

Melepasi fungsi sebagai hujah ialah cara terbaik untuk mencipta fleksibel dan modular modul dalam Go Mekanisme yang berkuasa untuk mengoptimumkan kod anda. Dengan memahami sintaks dan penggunaan lanjutannya, anda boleh membuka kunci potensi penuhnya.

Atas ialah kandungan terperinci Petua untuk menghantar fungsi sebagai parameter dalam Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn