对于golang中的地图m
,我们可以使用t.Key()
简单地获取密钥类型。
但我想知道如何获取地图值类型?
当地图为空时,我们甚至无法使用v.MapIndex
,任何想法?
m := map[string]int{}
t := reflect.TypeOf(m)
v := reflect.ValueOf(m)
t.Key()
v.MapIndex()
答案 0 :(得分:11)
Elem()
将为您提供元素的类型:
var m map[string]int
fmt.Println(reflect.TypeOf(m).Elem())
// output: int
答案 1 :(得分:1)
下面是获取地图键和地图元素类型的示例:
package main
import (
"fmt"
"reflect"
)
func main() {
fmt.Println("Hello, playground")
var m map[string]int
fmt.Println(reflect.TypeOf(m).Key())
fmt.Println(reflect.TypeOf(m).Elem())
}
游乐场here