• 字典
    字符串转换成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
          }
      }*/

    }

文档更新时间: 2021-11-02 22:21   作者:Yoby