这就是切片的工作原理。切片只是一个指针(+大小+容量),实际数据存储在数组中。复制切片时,不会复制基础数组。然后,您最终会得到指向同一数组的两个切片。改变一个切片的值将通过另一个切片变得可见。有关更多详细信息,请参阅 Go 切片:用法和内部设置。如果要保持原始切片不变,请先进行深层复制。例如,像这样 b := append([]int{}, a...) // deep copy(现场演示)