```
package main
import "fmt"
func main() {
s := []int{2, 3, 5, 7, 11, 13}
// step 1
s = s[:0]
fmt.Println(s)
// step 2
s = s[1:5]
fmt.Println(s)
//step 3
s = s[1:]
fmt.Println(s)
}
```
上面这段代码的运行结果为什么是
```
[]
[3 5 7 11]
[5 7 11]
```
看起来 `step 3` 是 `step 2` 的结果 `s` 的一个切片,那为什么 `step 2` 不是 `step 1` 的结果 `s` 的切片而是原始 `s` 的切片呢?
有疑问加站长微信联系(非本文作者)