golang 中 map 的初始化方式
// (1)先声明 map
var m1 map[int]int
// 再使用make函数创建一个非nil的map,nil map不能赋值
m1 = make(map[int]int)
// 赋值
m1[66] = 55
fmt.Println(m1) // map[66:55]
// (2)直接 make 创建
m2 := make(map[string]string)
// 赋值
m2["hello"] = "world"
fmt.Println(m2) // map[hello:world]
// (3)初始化 + 赋值一体化
m3 := map[float32]float32{} // 赋值为空
fmt.Println(m3) // map[]
m31 := map[float64]float64{
3.14: 3.1415,
2.71: 2.7131,
}
fmt.Println(m31) // map[2.71:2.7131 3.14:3.1415]
其他操作
// 遍历 // map range 遍历为无序输出,内部做了随机
for k, v := range m31 {
fmt.Println(k, v)
}
// 查找键值是否存在
if v, ok := m31[111]; ok {
fmt.Println(v)
} else {
fmt.Println("Key Not Found")
}
// 删除单个 key (不会回收内存)
delete(m31, 3.14)
// 清空
m31 = nil
fmt.Println(m31)