不明白为啥值变成了2, 3, 4, 5

来源:5-3 Go语言-切片的更多操作方法

幕布斯6043745

2023-06-26 20:10

slice1 = slice1[:cap(slice1)]

    通过此操作,变量slice1的值变为了[]int{2, 3, 4, 5},且其长度和容量均为4


写回答 关注

1回答

  • BioCrossCoder
    2023-07-21 15:26:26

    初始化slice1时,它的底层数组值是[5]int{1,2,3,4,5},切片本身的值是[]int{2,3,4},容量是数组长度-切片第一个元素在数组中的索引),这里的重新赋值使得切片:下界不变、上界变为数组长度、底层数组不变,所以值就相应改变。

Go语言第一课

Go语言入门教程,编程之必备知识扩散,打好Go语言编程基础

107794 学习 · 148 问题

查看课程

相似问题