在下面的代码中:
s4 := []int{0, 1, 2, 3, 4, 5}
sp4 := &s4
sp5 := &((*sp4)[1:])
我想以s5的形式获取指针的s4[1:]
切片,但这会导致错误:
cannot take the address of (*sp4)[1:]
但是如果我这样写:
s4 := []int{0, 1, 2, 3, 4, 5}
sp4 := &s4
s5 := (*sp4)[1:]
sp5 := &s5
有效!
我进行了一些测试,发现当我更改* sp5时,s4会同时更改。这就是我所需要的。
但是为什么我不能写sp5 := &((*sp4)[1:])
?