在 golang,数组是值。作为参数传进函数时,传递的是数组的原始值拷贝,此时在函数内部是无法更新该数组的
package main
import "fmt"
func main() {
x := [3]int{5,2,9}
func(arr [3]int) {
arr[0] = 8
fmt.Println(arr)
}(x)
fmt.Println(x)
}
运行:[8 2 9]
[5 2 9]
在 golang,数组是值。作为参数传进函数时,传递的是数组的原始值拷贝,此时在函数内部是无法更新该数组的
package main
import "fmt"
func main() {
x := [3]int{5,2,9}
func(arr [3]int) {
arr[0] = 8
fmt.Println(arr)
}(x)
fmt.Println(x)
}
运行:[8 2 9]
[5 2 9]