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]) }