【笔记】Go语言的异步的映射

前言

Go语言的异步的映射(sync.Map),异步的映射是线程安全的映射

引入依赖

1
import "sync"

创建映射对象

1
var 映射名 sync.Map

添加或修改键值对

1
映射名.Store("键", 值)

通过键获取值

  • 得到的第一个变量表示存储的值
  • 得到的第二个变量是布尔值,表示键是否存在
1
2
3
4
5
6
7
value, exist := 映射名.Load(键)

if exist {
fmt.Println("键存在")
} else {
fmt.Println("键不存在")
}

删除键值对

  • 如果执行删除操作时没有对应键,则不会执行任何操作,不会报错
1
映射名.Delete("键")

遍历映射

1
2
3
4
5
6
7
映射名.Range(func(key, value interface{}) bool {

fmt.Println(key, value)

// 返回 true 继续遍历,返回 false 立即终止遍历
return true
})

完成