Rumah > Artikel > pembangunan bahagian belakang > Cara menangkap pembolehubah menggunakan penutupan fungsi golang
Bagaimana untuk menangkap pembolehubah menggunakan penutupan fungsi Go? Tentukan parameter fungsi yang mengandungi pembolehubah yang akan ditangkap. Dalam badan fungsi, gunakan pembolehubah yang ditangkap. Contoh: Penutupan Cache Penutupan Kaunter Penutupan digunakan dalam Pergi untuk menangkap pembolehubah dan mencipta kod yang fleksibel dan boleh digunakan semula.
Cara menangkap pembolehubah menggunakan penutupan fungsi Go
Penutupan ialah fungsi yang mengandungi pembolehubah bebas yang ditakrifkan di luar definisi fungsi tetapi boleh diakses dalam fungsi. Dalam Go, penutupan boleh dibuat dengan mengikut langkah berikut:
Contoh kod:
package main import "fmt" func main() { x := 10 f := func() { // x 是一个自由变量,可以在 f 内访问 fmt.Println(x) } // 运行闭包 f() }
Dalam contoh di atas, f
函数是一个闭包,它捕获了变量 x
。当 f
被调用时,它打印 x
的值,即 10
.
Contoh lain:
Penutupan pembilang: Buat pembilang gelung yang terus mengira walaupun selepas fungsi penutupan telah kembali.
func counter(start int) func() int { x := start return func() int { x++ return x } }
Penutupan Cache: Buat fungsi yang hasilnya dicache untuk meningkatkan prestasi.
func cachingCalc(expensiveComputation func(int) int) func(int) int { cache := make(map[int]int) return func(x int) int { if v, ok := cache[x]; ok { return v } v = expensiveComputation(x) cache[x] = v return v } }
Penutupan ialah alat yang berkuasa dalam Go untuk menangkap pembolehubah dan mencipta kod yang fleksibel dan boleh digunakan semula.
Atas ialah kandungan terperinci Cara menangkap pembolehubah menggunakan penutupan fungsi golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!