指针是保存另外一个变量地址的变量。声明时,compiler为变量赋值nil 声明指针类型 var var_name *var_type
位置指针变量赋值 var p1 *int var a int = 2 p1 = &a
nil pointer意味着是空指针。通过下面表达式来判断是否是空指针 if (ptr != nil) or if (ptr == nil)
指针数组 var scores [3]int scores = [3]int{11, 22, 33} const MAX int = 3 var pscores [MAX]*int
for i := 0; i < MAX; i++ {
pscores[i] = &scores[i]
}
swap(&a, &b)
for i := 0; i < MAX; i++ {
fmt.Printf("The score %d is %d\n", i, *pscores[i])
}
只想指针的指针
var pointer_name **int