golang map 可以限制值类型么
时间: 2023-07-06 22:21:19 浏览: 154
golang中sync.Map并发创建、读取问题实战记录
在 Golang 中,map 是一种无序的键值对集合,其中键和值都可以是任何类型。如果您需要限制 map 中的值类型,可以使用 interface{} 和类型断言来实现。
例如,您可以创建一个 map,其中值的类型为 string,并在添加新值时进行类型检查:
```
var myMap map[string]interface{}
func addValue(key string, value interface{}) {
if _, ok := value.(string); !ok {
fmt.Println("Invalid value type!")
return
}
myMap[key] = value
}
```
在这个示例中,如果传递给 addValue 函数的值不是 string 类型,会输出 "Invalid value type!" 并返回。这样可以确保 map 中的值始终是指定的类型。
阅读全文