要判断 Sync.Map 中是否存在特定的 key,可以使用 Load 函数来获取 key 对应的 value,并使用第二个返回值来判断 key 是否存在。

以下是一个示例代码:

package main

import (
	"fmt"
	"sync"
)

func main() {
	var m sync.Map

	// 添加键值对
	m.Store("key1", "value1")
	m.Store("key2", "value2")

	// 判断 key1 是否存在
	_, ok := m.Load("key1")
	if ok {
		fmt.Println("key1 exists")
	} else {
		fmt.Println("key1 does not exist")
	}

	// 判断 key3 是否存在
	_, ok = m.Load("key3")
	if ok {
		fmt.Println("key3 exists")
	} else {
		fmt.Println("key3 does not exist")
	}
}

输出结果:

key1 exists
key3 does not exist

在上面的示例中,我们通过调用 Load 函数来获取 key 对应的 value,并使用 ok 变量来判断 key 是否存在。如果 ok 为 true,则表示 key 存在;如果 ok 为 false,则表示 key 不存在。

Go Sync.Map: 如何判断 Key 是否存在

原文地址: https://www.cveoy.top/t/topic/bcO5 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录