package main
import (
"fmt"
)
func main() {
//指向切片的指针
var p = new([]int)
*p = append(*p, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0)
for i, v := range *p {
fmt.Println(i, v)
}
fmt.Println(len(*p))
fmt.Println(p[9])
}
上述代码的最后一句无法输出,我想问下,如果是指向数组的话,最后一句代码是可以输出的,而对于指向切片的指针,该怎么以[]的方式输出某一个值?
p 是指针类型的 Slice *p 是指向这个slice , slice的结构 是 pointer,len,cap , poniter指向的是list 的地址, 所以(*p)指向切片,[9]指向底层的list
(*p) -> &slice->[9]->真实的值
#6
更多评论