Golang 的数组指针和指针数组听上去有点乱不太好理解
但是自己动手敲一下 就一眼可以看出区别了
package main
import "fmt"
func main(){
x,y := 1, 2
var arr = [...]int{5:2}
//数组指针
var pf *[6]int = &arr
//指针数组
pfArr := [...]*int{&x,&y}
fmt.Println(pf)
fmt.Println(pfArr)
}
可以看出代码中
数组指针 pf 的值得到的是一个指向arr 地址的一个指针
而指针数组 pfArr 则是一个数组内的元素全是指针类型
一下是打印出来的结果
&[0 0 0 0 0 2]
[0xc04204a080 0xc04204a088]
有疑问加站长微信联系(非本文作者)