Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Memanggil Kaedah Go Struct dengan Namanya Menggunakan Refleksi?
Memanggil Kaedah Struktur mengikut Nama dalam Go
Pertanyaan berkaitan dengan memanggil kaedah pada struct Go dengan menyatakan namanya. Tidak seperti fungsi MethodByName() yang disediakan, OP membayangkan pendekatan yang lebih langsung.
Melaksanakan Permintaan
Untuk mencapai ini, gunakan langkah berikut:
Contoh Pelaksanaan:
package main import "fmt" import "reflect" type MyStruct struct {} func (p *MyStruct) MyMethod() { fmt.Println("My statement") } func main() { var s MyStruct reflect.ValueOf(&s).MethodByName("MyMethod").Call(nil) }
Output:
My statement
Nota: KaedahByName () fungsi menerima hujah rentetan yang mewakili nama kaedah.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memanggil Kaedah Go Struct dengan Namanya Menggunakan Refleksi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!