Rumah > Artikel > pembangunan bahagian belakang > Penerokaan amalan terbaik fungsi dan penutupan tanpa nama golang
Dalam Go, fungsi dan penutupan tanpa nama ialah alat yang berkuasa untuk bekerja dengan fungsi dan mengikut amalan terbaik boleh meningkatkan kualiti kod anda. Fungsi tanpa nama harus disimpan ringkas, elakkan daripada menangkap pembolehubah luaran dan menggunakan parameter pembolehubah. Penutupan harus mengehadkan penangkapan pembolehubah bebas dan mengelakkan pengubahsuaian pembolehubah bebas Jika sejumlah besar pembolehubah bebas ditangkap, fungsi yang dinamakan boleh digunakan untuk meningkatkan kebolehbacaan.
Di Golang, fungsi dan penutupan tanpa nama ialah alat yang berkuasa apabila berfungsi dengan fungsi. Mengikuti amalan terbaik meningkatkan kebolehbacaan kod, kebolehselenggaraan dan prestasi.
Fungsi tanpa nama ialah fungsi tanpa nama, biasanya digunakan sebagai panggilan balik atau operasi sekali sahaja.
Gunakan amalan terbaik:
...
捕获所有剩余参数可以提供灵活性。实战案例:
下面的匿名函数将文件行数计数传递给 ioutil.ReadDir
函数:
import ( "fmt" "io/ioutil" ) func main() { numLines := func(path string) int { bytes, err := ioutil.ReadFile(path) if err != nil { return 0 } return len(bytes) } entries, _ := ioutil.ReadDir(".") for _, entry := range entries { fmt.Println(numLines(entry.Name())) } }
闭包是一种包含自由变量(在函数外部声明但可以在函数内部访问的变量)的函数。
遵循最佳实践:
实战案例:
下面的闭包使用 count
count
untuk menjejaki bilangan panggilan fungsi: 🎜func createCounter() func() int { count := 0 return func() int { count++ return count } } func main() { counter := createCounter() fmt.Println(counter()) // 1 fmt.Println(counter()) // 2 fmt.Println(counter()) // 3 }
Atas ialah kandungan terperinci Penerokaan amalan terbaik fungsi dan penutupan tanpa nama golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!