Go sync.Map 代码示例

发布时间:2023-03-18浏览次数:0

支持注册ChatGPT Plus的OneKey虚拟卡
绑定Apple Pay、Google Pay、支付宝和微信支付进行日常消费

注册和了解更多 ->

silver

以下是一个使用sync.Map的简单示例:

package main

import (
	"fmt"
	"sync"
)

func main() {
	var m sync.Map

	m.Store("foo", 1) // 存储一个键值对
	m.Store("bar", 2)
	m.Store("baz", 3)

	// 从map中读取一个值
	fooVal, _ := m.Load("foo")
	fmt.Println(fooVal) // 1

	// 删除一个键值对
	m.Delete("bar")

	// 遍历map中的所有键值对
	m.Range(func(key, value interface{}) bool {
		fmt.Println(key, value)
		return true
	})
}

在上面的示例中,我们首先使用sync.Map的零值初始化了一个map变量m,然后在m中存储了三个键值对。可以使用m.Load方法来读取m中的值,并使用m.Delete方法删除某个键值对。最后,我们使用m.Range函数遍历了整个map,并对每个键值对执行了一个函数。需要注意的是,由于sync.Map是并发安全的,因此可以安全地从多个goroutine中访问它。

字节笔记本扫描二维码查看更多内容