Go语言Slice操作.
发布时间:2020-12-16 18:41:56 所属栏目:大数据 来源:网络整理
导读: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)) co
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] } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |