Go语言Slice操作.

来源:互联网 发布:广告语录音软件 编辑:程序博客网 时间:2024/05/01 19:10
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], a = 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] = x9、InsertVector:    a = append(a[:i], append(b, a[i:]...)...)10、Pop    x, a = a[len(a)-1], 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]    }

0 0
原创粉丝点击