1. 程式人生 > >go語言:陣列指標與指標陣列

go語言:陣列指標與指標陣列

一句話總結:注意*與誰結合,如p *[5]int,*與陣列結合說明是陣列的指標;如p [5]*int,*與int結合,說明這個陣列都是int型別的指標,是指標陣列。

packagemain
import"fmt"
funcmain(){
a:=[...]int{1,2,3,4,5}
varp*[5]int=&a
fmt.Println(*p,a)
forindex,value:=range*p{
fmt.Println(index,value)
}
varp2[5]*int
i,j:=10,20
p2[0]=&i
p2[1]=&j
forindex,value:=range
p2{
ifvalue!=nil{
fmt.Println(index,*value)
}else{
fmt.Println(index,value)
}
}
}

注意空指標是不能訪問的。

結果:

[1 2 3 4 5] [1 2 3 4 5]

0 1

1 2

2 3

3 4

4 5

0 10

1 20

2 <nil>

3 <nil>

4 <nil>

成功: 程序退出程式碼 0.