3
我有地圖,有一個零鍵控值:如何使用反射訪問地圖的無鑰匙?
mapp := map[interface{}]interface{}{
nil: "a",
}
訪問它的無鑰匙的直接作用:
fmt.Println("key[nil]:", mapp[nil])
但使用反射不 - 如何做到這一點?
rmapp := reflect.ValueOf(mapp)
rkey := reflect.ValueOf(interface{}(nil))
rval := rmapp.MapIndex(rmapp.MapIndex(rkey))
fmt.Println("key[nil]:", rval)
非工作代碼在這裏:
https://play.golang.org/p/6TKN_tDNgV
謝謝你,但這種方法需要知道地圖的關鍵在編譯時的類型,因此無法與其他主要類型。 – Gima