Pertanyaan yang diberi tag go-reflect

387
Bagaimana cara menemukan jenis objek di Go?

Bagaimana cara menemukan jenis objek di Go? Dalam Python, saya hanya menggunakan typeofuntuk mengambil jenis objek. Demikian pula dalam Go, apakah ada cara untuk menerapkan hal yang sama? Ini adalah wadah tempat saya melakukan iterasi: for e := dlist.Front(); e != nil; e = e.Next() { lines :=...

194
Ketik irisan antarmuka yang dikonversi

Saya ingin tahu mengapa Go tidak secara implisit dikonversi []Tke []interface{}ketika secara implisit dikonversi Tke interface{}. Apakah ada sesuatu yang tidak sepele tentang konversi ini yang saya lewatkan? Contoh: func foo([]interface{}) { /* do something */ } func main() { var a []string =...

107
Iterasi melalui bidang struct di Go

Pada dasarnya, satu-satunya cara (yang saya ketahui) untuk melakukan iterasi melalui nilai bidang a structadalah seperti ini: type Example struct { a_number uint32 a_string string } //... r := &Example{(2 << 31) - 1, "...."}: for _, d:= range []interface{}{ r.a_number, r.a_string, }...

101
Bagaimana cara mendapatkan nama suatu fungsi di Go?

Diberikan sebuah fungsi, apakah mungkin untuk mendapatkan namanya? Mengatakan: func foo() { } func GetFunctionName(i interface{}) string { // ... } func main() { // Will print "name: foo" fmt.Println("name:", GetFunctionName(foo)) } Saya diberi tahu bahwa runtime.FuncForPC akan membantu,...