package main import "fmt" func main() { s3:=make([]int,2,10) fmt.Println(s3) Test2(s3) fmt.Println(s3) s4:=s3[0:10] fmt.Println(s4) } func Test2(s []int){ s=append(s,6) s=append(s,6) s=append(s,6) fmt.Println(s) } 得出的结果是: [0 0] [0 0 6 6 6] [0 0] [0 0 6 6 6 0 0 0 0 0] 请问一下,第三个结果为什么是[0 0],而不是 [0 0 6 6 6] 呢, 在Test2 函数中,使用append的时候,并没有扩容,添加的数据还在底层数组的容量中, 那为啥在 Test2函数之后 s3是[0 0] 即使是在原有的容量基础上扩容,那为啥 s4:=s3[0:10] 是[0 0 6 6 6 0 0 0 0 0],按理来说在函数中扩容之后和外面的没关系了,那s4 应该是[0 0]才对