本文主要是介绍go语言教程--slice,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
什么是切片
Slice是数组的一个review,他的实现大致如下,ptr指向了切片的第一个位置,
len表示切片的长度,cap表示从切片的开头到数组的结尾的长度。
slice := array[2:6]slice包含了array下标为2的元素到下标为5的元素,是一个前闭后开的区间。
slice可以拓展到5之后的元素,但是不能拓展到2之前的元素。
也就是可以向后拓展但是不能像前拓展。
slice的创建
var s [] int //Zero value for slice is nils1 :=[]int{2,4,6,8} //init for slices2 := make([]int,16)//len for sclice is 16s3 := make([]int,16,32)//len for slice is 16,cap for slice is 32。
copy slice
cpoy(s2,s1)
delete ele from slice
s2=append(s2[:3],s2[4:]...)// remove ele which index is 3,len will subtract 1.
front := s2[0];s2=s2[1:] //remove first ele
tail := s2[len(a2)-1];s2 = s2[:len(2)-1]//remove last ele
这篇关于go语言教程--slice的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!