• 列表类型
    类型是interface{}可存储任意值
list:=list.New() //var list list.List
e:= list.PushBack("我们")//尾部插入
list.PushFront(123);//头部插入
fmt.Println(e)
list.InsertAfter("后", e)//之后插入
list.InsertBefore("前", e)//之前插入
list.Remove(e)//删除
Listasc(list)
listdesc(list)

//遍历list,顺序遍历
func Listasc(l *list.List) {
    for e := l.Front(); e != nil; e = e.Next() {
        fmt.Println(e.Value)
    }
}
//逆序遍历
func listdesc(l *list.List) {
    for e := l.Back(); e != nil; e = e.Prev() {
        fmt.Println(e.Value)
    }
}
  • 有序map

    m := php.NewMap() //声明有序map
      m.Set("foo", "bar") //添加
      m.Set("aa", "中国")
      m.Set("qux", 1.23)
      m.Set(123, true)
      m.Delete("qux") //删除
      //遍历
      for _, key := range m.Keys(){
          value, _:= m.Get(key)
          fmt.Println(key, value)
      }
    //正序遍历输出
      for el := m.Front(); el != nil; el = el.Next() {
          fmt.Println(el.Key, el.Value)
      }
    //倒序遍历
      for el := m.Back(); el != nil; el = el.Prev() {
          fmt.Println(el.Key, el.Value)
      }
      fmt.Println(m.Keys()) //返回数组key []
      fmt.Println(m.Len()) //长度
      fmt.Println(m.GetOrDefault("foo","1")) //获取值不存在取默认
      fmt.Println(m.Get("aa0")) //获取值,存在true
  • scile list队列

      var queue []int //申明scile队列,数据小更快
      queue = append(queue, 1) //入队1个
      queue = append(queue, 3, 4, 5,9)//入队4个
      fmt.Println(queue)
      if len(queue) > 1 {
          queue = queue[1:] //出队一个
          fmt.Println(queue)
          queue = queue[2:] //出队两个
          fmt.Println(queue)
      }
      queue1 := list.New() //list队列,数据量大更快
      queue1.PushBack(1) //入队
      queue1.PushBack("ok") //入队
      queue1.PushBack("中")
      if queue1.Len() > 1 {
          ev:=queue1.Remove(queue1.Front()) //出队第一个元素
          fmt.Println(ev)
      }
作者:Yoby  创建时间:2020-10-08 22:12
 更新时间:2024-12-05 13:26
上一篇:
下一篇: