为什么片 a
保持不变? append()
是否生成一个新片?
package main
import (
"fmt"
)
var a = make([]int, 7, 8)
func Test(slice []int) {
slice = append(slice, 100)
fmt.Println(slice)
}
func main() {
for i := 0; i < 7; i++ {
a[i] = i
}
Test(a)
fmt.Println(a)
}
产出:
[0 1 2 3 4 5 6 100]
[0 1 2 3 4 5 6]