[Golang] 关于Sync.Map的使用
转自 https://blog.csdn.net/sc_lilei/article/details/81390185 简介: sync.Map这个数据结构是线程安全的(基本类型Map结构体在并发读写时会panic严重错误),它填补了Map线程不安全的缺陷,不过最好只在需要的情况下使用。它一般用于并发模型中对同一类map结构体的读写,或其他适用于sync.Map的情况。 关于sync.Map的源码解析文章: Go 1.9 sync.Map揭秘 正文: 它主要五个方法及其功能简介: 1、Store 存 key,value 2、LoadOrStore 取&存-具体看代码 3、Load 取key对应的value 4、Range 遍历所有的key,value 5、Delete 删除key,及其value package main import ( "fmt" "sync" ) func main() { var m sync.Map //Store m.Store(1,"a") m.Store(2,"b") //LoadOrStore //若key不存在,则存入key和value,返回false和输入的value v,ok := m.LoadOrStore("1","aaa") fmt.Println(ok,v) //false aaa //若key已存在