go语言函数调用仅与方法的调用类型(N or *N)有关,与调用对象类型(N or *N)无关
type Int int
a += b
}
func main() {
var a Int = 0
b := &a
a.add(1)
fmt.Println(a) //0
b.add(2)
fmt.Println(*b) //0
}
----------------------------------------------
type Int int
func(a *Int) add(b Int) {
*a += b
}
func main() {
var a Int = 0
b := &a
a.add(1)
fmt.Println(a) //1
b.add(2)
fmt.Println(*b) //3
}