func zero(x int) {
x = 0
}
func main() {
x := 5
zero(x)
fmt.Println(x) // x = 5
}
func zero(xPtr *int) {
*xPtr = 0
}
func main() {
x := 5
zero(&x)
fmt.Println(x) // x = 0
}
func one(xPtr *int) {
*xPtr = 1
}
func main() {
xPtr := new(int)
one(xPtr)
fmt.Println(*xPtr) // x = 1
}
Презентация и исходный код