Cara Mencetak Set Kaedah Antara Muka di Golang
Mendapatkan set kaedah antara muka dalam Go boleh dicapai melalui refleksi. Teknik ini membolehkan anda memeriksa dan menyoal siasat jenis maklumat pembolehubah tanpa mengetahui jenis khusus mereka pada masa penyusunan.
Penyelesaian:
Menggunakan pakej reflect, anda boleh mengakses maklumat jenis dan kaedah antara muka. Berikut ialah coretan kod yang menunjukkan cara untuk mendapatkan semula nama fungsi untuk antara muka:
<code class="go">package main import ( "fmt" "reflect" ) type Searcher interface { Search(query string) (found bool, err error) ListSearches() []string ClearSearches() (err error) } func main() { t := reflect.TypeOf(struct{ Searcher }{}) for i := 0; i < t.NumMethod(); i++ { fmt.Println(t.Method(i).Name) } }</code>
Kod ini akan mencetak output berikut:
Search ListSearches ClearSearches
Fungsi reflect.TypeOf() memperoleh taip maklumat struct tanpa nama yang membenamkan antara muka. Kemudian, t.NumMethod() menyediakan kiraan kaedah yang ditakrifkan oleh antara muka dan kami mengulanginya menggunakan t.Method(i).Name untuk mendapatkan nama kaedah.
Atas ialah kandungan terperinci Bagaimana untuk Mencetak Set Kaedah Antara Muka dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!