```go
package main
import "fmt"
func main() {
var p *[]int
var arr []int = []int{1,2}
p=&arr
fmt.Println(p[0]) //报错:invalid operation: p[0] (index of type *[]int)
}
```
而下面的正确
```go
package main
import "fmt"
func main() {
var p *[2]int
var arr [2]int = [2]int{1,2}
p=&arr
fmt.Println(p[0]) //输出:1
}
```
为什么fmt.Println(p[0])报错啊,求指教!!!
go里面一般用slice,array很少用,也很少有对slice取指针的操作,我觉得学go就不要有c的包袱,go的优势就是将复杂的东西隐藏到简洁,直接的代码之下,语法支持的某些功能不是一定要用的,尽量避免用各种稀奇古怪的东西来考验自己的理解力,能够用常见的方法解决问题就行
#4
更多评论