首页 > 解决方案 > 打印 Golang 映射的键/值类型

问题描述

我正在尝试打印地图的类型,例如:map[int]string

func handleMap(m reflect.Value) string {

    keys := m.MapKeys()
    n := len(keys)

    keyType := reflect.ValueOf(keys).Type().Elem().String()
    valType := m.Type().Elem().String()

    return fmt.Sprintf("map[%s]%s>", keyType, valType)
}

所以如果我这样做:

log.Println(handleMap(make(map[int]string)))

我想得到"map[int]string"

但我想不出正确的电话。

标签: goreflectionreflect

解决方案


func handleMap(m interface{}) string {
    return fmt.Sprintf("%T", m)
}

推荐阅读