Skip to content

Releases: antlabs/gstl

v0.0.9版本

30 Sep 08:02
Compare
Choose a tag to compare

1.去除assert的依赖

v0.0.8

19 Dec 12:50
490120d
Compare
Choose a tag to compare

add ToMap

v0.0.7版本

08 Mar 05:34
Compare
Choose a tag to compare

新增IfElseAny接口

o := map[string]any{"hello": "hello"}
a := []any{"hello", "world"}
fmt.Printf("%#v", IfElseAny(o != nil, o, a))

v0.0.6版本

23 Feb 08:23
Compare
Choose a tag to compare

新增SortKeys方法

v0.0.5版本

09 Nov 13:14
2c3b87b
Compare
Choose a tag to compare

rwmap数据结构补上Keys()和Values()两个接口

v0.0.4版本

09 Nov 12:43
ace2b96
Compare
Choose a tag to compare

十一、rwmap

rwmap与sync.Map类似支持并发访问,只解决sync.Map 2个问题.

  1. 没有Len成员函数
  2. 以及没有使用泛型语法,有运行才发现类型使用错误的烦恼
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版本

06 Nov 11:54
Compare
Choose a tag to compare

修改导入路径,gstl库转移至antlabs账号下面。

v0.0.2

18 Oct 13:14
Compare
Choose a tag to compare

增加两个便捷函数,让标准库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

14 Oct 09:40
Compare
Choose a tag to compare

第一个版本:
该仓库由一些数据结构和便捷函数组成。