Go语言Slice操作.

前端之家收集整理的这篇文章主要介绍了Go语言Slice操作.前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
1、基本用法: 
    a = append(a,b...)
    例如:list = appened(list,[]int{1,2,3,4}...)
    可以用来合并两个列表. 不用这样了 :list := make([]int,len(list1)+len(list2)) 然后再copy(list,list1) copy(list[len(list1):],list2)
2、Copy:
    b = make([]T,len(a)) copy(b,a)
或者:
    b = append([]T(nil),a...)
3、Cut:
    a = append(a[:i],a[j:]...)
4、Delete:
    a = append(a[:i],a[i+1:]...)
    或者: a = a[:i+copy(a[i:],a[i+1:])]
    例如:a[len(a)-1],a = nil,append(a[:i],a[i+1:]...)
5、Delete without preserving order: 
    a[i],a = a[len(a)-1],a[:len(a)-1]
    例如: a[i],a[len(a)-1],nil,a[:len(a)-1]
6、Expand: 
    a = append(a[:i],append(make([]T,j),a[i:]...)...)
7、Extend: 
    a = append(a,make([]T,j)...)
8、Insert:
    a = append(a[:i],append([]T{x},a[i:]...)...)
    例如: s = append(s,0) copy(s[i+1:],s[i:]) s[i] = x
9、InsertVector:
    a = append(a[:i],append(b,a[i:]...)...)
10、Pop
   x,a[:len(a)-1]
11、Push:
   a = append(a,x)
12、Shift 
    x,a := a[0],a[1:]
13、Unshift
    a = append([]T{x},a...)
14、Reversing: 
    for i := len(a)/2-1; i >= 0; i-- { 
       opp := len(a)-1-i a[i],a[opp] = a[opp],a[i]
    }

猜你在找的Go相关文章