首页 > 其他 > 详细

Go Map

时间:2020-02-24 00:39:44      阅读:89      评论:0      收藏:0      [点我收藏+]

map

map使用散列表(hash)实现

添加关联到map并访问关联和数据

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格式一样,健值对,并使用逗号分割。

判断map中key是否存在

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中删除健值对

delete(map, 键)
//map 要删除的实例

清空map中的所有元素

清空map的唯一办法就是重新make一个新的map。
不用担心垃圾回收的效率,Go中的并行垃圾回收效率比写一个清空函数高效的多。

能够在并发环境中使用的map——sync.Map

Go中的map在并发环境下,只读是线程安全的,同时读写线程不安全。

Go Map

原文:https://www.cnblogs.com/followyou/p/12355313.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!