我写错误了,是这样的:func main() { arr := [2]*int{new(int), new(int)} arr[0] = 2 arr[1] = 3 fmt.Printf("%v", arr) }
输出的结果是数组中每个值相对应的地址:[0xc42000e250 0xc42000e258] ;而输出*arr(即fmt.Printf("%v",*arr))会报错: invalid indirect of arr (type [2]*int);请问是什么原因?
#6
更多评论
`new(int)`是一个指针
应该改成这样吧
```go
func main() {
arr := [2]*int{new(int), new(int)}
*arr[0] = 2
*arr[1] = 3
fmt.Printf("%v", arr)
}
```
#1
func main() {
arr := [2]*int{new(int), new(int)}
*arr[0] = 2
*arr[1] = 3
fmt.Printf("%v", arr)
}
输出的结果是数组中每个值相对应的地址:[0xc42000e250 0xc42000e258]
输出*arr会报错: invalid indirect of arr (type [2]*int),请教。
#2