Dalam Go, fungsi penutupan merujuk kepada fungsi tanpa nama yang boleh mengakses pembolehubah luaran. Kaedah pelaksanaan: Apabila mencipta fungsi penutupan, rujukan kepada pembolehubah luaran terbentuk. Aplikasi praktikal termasuk menjumlahkan senarai kumulatif nombor. Kelebihan: Meningkatkan kebolehselenggaraan dan kebolehgunaan semula kod, merangkum keadaan dan mencipta fungsi panggil balik yang berkuasa.
Dalam Go, fungsi penutupan merujuk kepada fungsi tanpa nama yang boleh mengakses pembolehubah di luar skop yang ditentukan. Apabila fungsi penutupan menangkap pembolehubah luaran, ia membentuk rujukan, jadi walaupun fungsi penutupan dikembalikan atau dihantar ke fungsi lain, pembolehubah luaran ini masih tersedia.
Dalam Go, fungsi penutupan boleh dibuat oleh:
func main() { // 定义一个外部变量 x := 10 // 创建一个闭包函数 fn := func() { fmt.Println(x) // 访问外部变量 } // 执行闭包函数 fn() // 输出:10 }
Dalam contoh ini, fn
闭包函数可以访问外部变量 x
,即使 fn
函数在 main
dilaksanakan di luar fungsi.
Katakan kita mempunyai fungsi yang perlu mengira jumlah senarai nombor. Kita boleh menggunakan fungsi penutupan untuk mengumpul nilai jumlah:
func main() { nums := []int{1, 2, 3, 4, 5} // 创建一个闭包函数来计算和值 sum := func() int { total := 0 for _, num := range nums { total += num } return total } // 调用闭包函数并打印和值 fmt.Println(sum()) // 输出:15 }
Fungsi penutupan mempunyai kelebihan berikut:
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan fungsi penutupan di Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!