简单示例帮助理解 Golang 里 pointer 的概念,code snippet 和图片来自:GeeksforGeeks。
package main
import "fmt"
func main() {
y := 1024
p := &y
fmt.Println("Value stored in y before changing =", y)
// Value stored in y before changing = 1024
fmt.Println("Address of y =", &y)
// Address of y = 0xc000018098
fmt.Println("Value stored in pointer variable p =", p)
// Value stored in pointer variable p = 0xc000018098
fmt.Println("Value stored in y(*p) Before Changing =", *p)
// Value stored in y(*p) Before Changing = 1024
*p *= 2
fmt.Println("Value stored in y(*p) after Changing =",y)
// Value stored in y(*p) after Changing = 2048
}
参考:
Pointers in Golang:
https://www.geeksforgeeks.org/pointers-in-golang/