golang函数返回的数组无法直接取地址是为啥?
func returnArray() *[5]byte {
a := [5]byte{1,2,3,4,}
return &a
}
func main() {
// 第一种写法,返回如下报错:
// invalid operation returnArray()[:5] (slice of unaddressable value)
fmt.Println(returnArray()[:5])
// 第二种写法,先存储为变量然后再切片,正常运行
arr := returnArray()
fmt.Println(arr[:5])
}