Petua untuk menghantar fungsi sebagai parameter dalam Golang

WBOY
Lepaskan: 2024-04-13 16:36:02
asal
825 orang telah melayarinya

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)
}
Salin selepas log masuk
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
}
Salin selepas log masuk

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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan