字典
字符串转换成gmap类型
m := gmap.Map{}
s := []byte({"name":"john","score":100}
)
json.Unmarshal(s, &m)
//m := gmap.New() // m := gmap.New(true)安全map 默认hashmap
m := gmap.NewListMap(true) //有序不排序
//m := gmap.NewTreeMap(gutil.ComparatorInt, true) //有序排序
m.Set(“id”,1)
m.Set(“qq”,2)
m.Sets(g.MapAnyAny{“yy”:2,”vv”:”中国”})
id:=m.Get(“id”)
fmt.Println(id)
fmt.Println(m.Size()) //长度
fmt.Println(m.Contains(“id”)) //key是否存在
//m.Remove(“id”)
m.Removes(g.SliceAny{“vv”,”tt”})
fmt.Println(m.Keys())
fmt.Println(m.Values())
// 查询键名,当键值不存在时,写入给定的默认值
fmt.Println(m.GetOrSet(100, 100))
fmt.Println(m.IsEmpty())// 判断map是否为空
//m.Clear() //清空
//m.Flip() //键值反转
//fmt.Println(m.Pop())//随机出栈1个
//fmt.Println(m.Pops(2)) //多个
fmt.Println(m.SetIfNotExist(“km”, “v1”)) //key不存在写入
//m.Merge(&m2) //合并map
g.Dump(m.Map()) //输出类型map
m.Iterator(func(k,v interface{})bool{fmt.Println(k,v) return true
})
数组
a := garray.NewIntArray(true)
//Array, intArray, StrArray //不排序
//SortedArray, SortedIntArray, SortedStrArray 可排序
a.Append(12,18,17) //添加元素
fmt.Println(a.Get(0)) //取值
a.InsertAfter(1, 11) // 在指定索引后插入数据项
a.InsertBefore(3, 3)// 在指定索引前插入数据项
a.Set(0, 100) //修改
fmt.Println(a.Search(5)) //搜索值的key没有是-1
a.Remove(0) //删除
//a.Clear() //清空
fmt.Println(a.Len())//长度
fmt.Println(a.Slice())
a.Iterator(func(k int, v int) bool {fmt.Println(k,v) return true
})
fmt.Println(a.PopLeft()) //左边取出1个
//fmt.Println(a.PopLefts(2))
//fmt.Println(a.PopRight())
//fmt.Println(a.PopRights(2))
fmt.Println(a.Rands(2)) //随机取出多个
fmt.Println(a.PopRand())//随机一个
fmt.Println(a.Contains(1))//是否存在值
fmt.Println(a.Reverse()) //倒序
a.Shuffle() //打乱
fmt.Println(a.Join(“-“)) //用-链接成字符串
fmt.Println(a.Chunk(2)) //分组,每组2个
//a.Merge(a2) //合并
var s garray.IntArray
json.Unmarshal([]byte([1,4,2]
),&s) //字符串数组转换成普通数组
fmt.Println(s.Slice())通用变量 g.Var
var v g.Var
v.Set(“123”)
fmt.Println(v.String())
fmt.Println(v.Slice()) //转换成数组队列
q := gqueue.New()
gtimer.SetInterval(time.Second, func() {v := gtime.Now().String() q.Push(v) fmt.Println("Push:", v)
})
// 3秒后关闭队列
/gtimer.SetTimeout(3time.Second, func() {q.Close()
})*/
// 消费者,不停读取队列数据并输出到终端
for {x:=q.Pop() fmt.Println(x) /*select { case v := <-q.C: if v != nil { fmt.Println(v) } else { return } }*/
}
更新时间:2024-12-05 13:26