对于m
golang中的地图,我们可以使用简单的键类型t.Key()
.
但我想知道如何获得地图值类型?
当地图为空时,我们甚至无法使用v.MapIndex
,任何想法?
m := map[string]int{}
t := reflect.TypeOf(m)
v := reflect.ValueOf(m)
t.Key()
v.MapIndex()
Run Code Online (Sandbox Code Playgroud)
Not*_*fer 11
Elem()
地图类型将为您提供元素的类型:
var m map[string]int
fmt.Println(reflect.TypeOf(m).Elem())
// output: int
Run Code Online (Sandbox Code Playgroud)
这是获取地图键和地图元素类型的示例:
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())
}
Run Code Online (Sandbox Code Playgroud)
游乐场在这里
文档在这里https://golang.org/pkg/reflect/#Type