一个指针变量可以指向任何一个值的内存地址 它指向那个值的内存地址,在 32 位机器上占用 4 个字节,在 64 位机器上占用 8 个字节,并且与它所指向的值的大小无关
Go 语言的取地址符是 &
指针的格式化标识符为 %p
当一个指针被定义后没有分配到任何变量时,它的值为 nil
package main
import "fmt"
func main() {
var i1 = 5
fmt.Printf("an integer: %d, its location in memory: %p\n", i1, &i1)
//an integer: 5, its location in memory: 0xc0000aa058
var intP *int
intP = &i1
fmt.Printf("The value at memory location %p is %d\n", intP, *intP)
//The value at memory location 0xc0000aa058 is 5
}