我认为在 GO 语言中,切片是通过引用传递的。但是为什么下面的代码没有改变 slice c 的内容呢?我错过了什么吗?谢谢你。
package main
import (
"fmt"
)
func call(c []int) {
c = append(c, 1)
fmt.Println(c)
}
func main() {
c := make([]int, 1, 5)
fmt.Println(c)
call(c)
fmt.Println(c)
}
打印的结果是:
[0] [0 1] [0]
在我期待的时候
[0] [0 1] [0 1]