Memahami Ungkapan Kaedah dalam Go
Ekspresi kaedah menawarkan cara yang mudah untuk menggunakan kaedah dalam Go. Daripada memanggil kaedah terus melalui penerima, anda boleh menetapkannya kepada pembolehubah dan menganggapnya sebagai fungsi biasa.
Pertimbangkan coretan kod ini:
func main() { dog := Dog{} b := (*Dog).Bark // method expression for Dog.Bark b(&dog, 5) } type Dog struct {} func (d *Dog) Bark(n int) { for i := 0; i < n; i++ { fmt.Println("Bark") } }
Penerima dan Ungkapan Kaedah
Ungkapan kaedah memperoleh fungsi daripada kaedah dengan penerima penunjuk. Dalam kes ini, kita mempunyai func (*Dog) Bark(n int) dan ungkapan (*Dog).Bark mencipta nilai fungsi yang boleh disimpan dalam pembolehubah, seperti b.
Menggunakan Ungkapan Kaedah
b(&dog, 5) menggunakan kaedah pada objek anjing dengan n=5. Ini bersamaan dengan anjing.Bark(5) tetapi membenarkan anda menghantar kaedah sebagai nilai.
Kelebihan Ungkapan Kaedah
Ungkapan kaedah memberikan kefleksibelan:
Gunakan Kes
Ungkapan kaedah tidak biasa digunakan, tetapi ia boleh memberi manfaat dalam senario di mana:
Kesimpulan
Ekspresi kaedah menawarkan cara alternatif untuk menggunakan kaedah dalam Go. Ia memberikan fleksibiliti yang lebih tinggi dan boleh berguna dalam senario tertentu, tetapi penggunaannya tidak lazim seperti panggilan kaedah langsung.
Atas ialah kandungan terperinci Bagaimanakah Ungkapan Kaedah Go Menawarkan Fleksibiliti dalam Kaedah Seruan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!