Releases: antlabs/gstl
Releases · antlabs/gstl
v0.0.9版本
v0.0.8
add ToMap
v0.0.7版本
新增IfElseAny接口
o := map[string]any{"hello": "hello"}
a := []any{"hello", "world"}
fmt.Printf("%#v", IfElseAny(o != nil, o, a))
v0.0.6版本
新增SortKeys方法
v0.0.5版本
rwmap数据结构补上Keys()和Values()两个接口
v0.0.4版本
十一、rwmap
rwmap与sync.Map类似支持并发访问,只解决sync.Map 2个问题.
- 没有Len成员函数
- 以及没有使用泛型语法,有运行才发现类型使用错误的烦恼
var m RWMap[string, string] // 声明一个string, string的map
m.Store("hello", "1") // 保存
v1, ok1 := m.Load("hello") // 获取值
v1, ok1 = m.LoadAndDelete("hello") //返回hello对应值,然后删除hello
Delete("hello") // 删除
v1, ok1 = m.LoadOrStore("hello", "world")
// 遍历,使用回调函数
m.Range(func(key, val string) bool {
fmt.Printf("k:%s, val:%s\n"i, key, val)
return true
})
// 遍历,迭代器
for pair := range m.Iter() {
fmt.Printf("k:%s, val:%s\n", pair.Key, pair.Val)
}
m.Len()// 获取长度
v0.0.3版本
修改导入路径,gstl库转移至antlabs账号下面。
v0.0.2
增加两个便捷函数,让标准库map更好用些。
mapex.Keys()
m := make(map[string]string)
m["a"] = "1"
m["b"] = "2"
m["c"] = "3"
get := mapex.Keys(m)// 返回map的所有key
mapex.Values()
m := make(map[string]string)
m["a"] = "1"
m["b"] = "2"
m["c"] = "3"
get := mapex.Values(m)
v0.0.1
第一个版本:
该仓库由一些数据结构和便捷函数组成。