最新消息:vps推荐

golang切片

go Terry 395浏览 0评论

切片就像数组的引用,切片并不存储任何数据,它只是描述了底层数组中的一段。 更改切片的元素会修改其底层数组中对应的元素。 与它共享底层数组的切片都会观测到这些修改。

通过数组产生切片:

arr := [3]int{1,2,3}

arr[0:2] 通过下标操作就产生了一个切片,包括第一个元素,但排除最后一个元素。

使用make()函数构造切片:

a := make([]int,2,10)  //元素个数为2,容量为10(容量值可不填)容量值必须大于等于切片长度。

切片相关函数:

append()

arr := make([]int,2,10)
arr = append(arr,1)//追加元素
fmt.Print(arr) //[1]

如果底层数组太小,不足以容纳所有给定的值时,它就会分配一个更大的数组。返回的切片会指向这个新分配的数组。

len() cap()

arr := make([]int,3,10)
fmt.Println(len(arr)) //3
fmt.Println(cap(arr)) //10

copy()

arr := make([]int,3,10)
arr[0] = 1
arr[1] = 2
arr[2] = 3
dest := make([]int,5,10)
copy(dest,arr)
fmt.Println(dest) //[1,2,3,0,0]

转载请注明:Terry's blog » golang切片

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址