导入 gmap 包
要使用 gmap,你首先需要导入 github.com/gogf/gf/container/gmap 包。
import "github.com/gogf/gf/container/gmap"
创建和初始化 gmap
// 创建一个空的 gmap
m := gmap.New()
// 使用键值对初始化 gmap
m := gmap.NewFromMap(map[interface{}]interface{}{
"key1": "value1",
"key2": "value2",
})
基本操作
// 设置键值对
m.Set("key", "value")
// 获取键的值
value := m.Get("key")
// 删除指定键值对
m.Remove("key")
// 检查键是否存在
exists := m.Contains("key")
// 获取所有的键
keys := m.Keys()
// 获取所有的值
values := m.Values()
// 获取键值对的数量
size := m.Size()
// 清空 gmap
m.Clear()
迭代操作
// 遍历 gmap
m.Iterator(func(k, v interface{}) bool {
// 处理每个键值对
fmt.Println(k, v)
return true // 如果返回false,则停止迭代
})
// 使用键的顺序遍历 gmap
m.IteratorOrdered(func(k, v interface{}) bool {
// 处理每个键值对
fmt.Println(k, v)
return true // 如果返回false,则停止迭代
})
安全并发操作
// 安全地并发读取
value, ok := m.GetSafe("key")
// 安全地并发设置
m.SetIfNotExist("key", "value")
其他方法
// 获取键的值,如果键不存在,则返回默认值
value := m.GetOrSet("key", "default")
// 如果键不存在,则设置键值对,返回之前的值
oldValue := m.SetIfNotExist("key", "value")
// 在原值基础上增加或减少
m.Increase("key", 10)
m.Decrease("key", 5)
以上是一些常用的 gmap 操作示例。gmap 提供了丰富的方法来操作键值对映射,可以方便地进行数据存储和检索。详细的使用方法可以查阅 GoFrame 的官方文档或源代码。
转载请注明出处:http://www.zyzy.cn/article/detail/7694/GoFrame