Go 中的pointer

391 阅读1分钟

指针是保存另外一个变量地址的变量。声明时,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