map使用散列表(hash)实现
map[Key_Type]Value_Type
scene := make(map[string]int)
scene["route"] = 66
fmt.Println(scene["route"])
v :=scene["route2"] //尝试查找一个不存在的键,返回的将是value_type的默认值
fmt.Println(v)
/**
66
0
*/
填充内容方式
m := map[string]string{
"W": "forward",
"A": "left",
"D": "right"
}
并没有使用make,而是使用大括号进行内容定义,就像json格式一样,健值对,并使用逗号分割。
if _, ok := map[key]; ok {
//存在
}
m := make(map[string]string)
m["b"] = "1"
val,exist := m["a"]
val1,exist1 := m["b"]
fmt.Println(val,exist)
fmt.Println(val1,exist1)
// false
// 1 true
delete(map, 键)
//map 要删除的实例
清空map的唯一办法就是重新make一个新的map。
不用担心垃圾回收的效率,Go中的并行垃圾回收效率比写一个清空函数高效的多。
Go中的map在并发环境下,只读是线程安全的,同时读写线程不安全。
原文:https://www.cnblogs.com/followyou/p/12355313.html