func testarr(a []int) {
a = []int{1}
}
func testint(a int) {
a = 1
}
func testarrptr(a *[]int) {
b := []int{1}
a = &b
}
func testintptr(a *int) {
b := 1
a = &b
}
func testarrptrval(a *[]int) {
b := []int{1}
*a = b
}
func testintptrval(a *int) {
b := 1
*a = b
}
func main() {
var a []int
b := 0
testarr(a)
testint(b)
fmt.Println("a:", a)
fmt.Println("b:", b)
testarrptr(&a)
testintptr(&b)
fmt.Println("a:", a)
fmt.Println("b:", b)
testarrptrval(&a)
testintptrval(&b)
fmt.Println("a:", a)
fmt.Println("b:", b)
}
输出结果:
a: []
b: 0
a: []
b: 0
a: [1]
b: 1