我不明白最后一步结果,我认为“复制”使用值。如果您能解释一下,我将不胜感激。
type Vertex struct {
X []int
Y []int
}
func main() {
var v Vertex
x := []int{1, 2}
y := []int{3, 4}
v.X = x
v.Y = y
fmt.Println(v)
x[0] = 5
fmt.Println(v)
copy(v.X, x)
copy(v.Y, y)
fmt.Println(v)
x[0] = 6
fmt.Println(v)
}
Run Code Online (Sandbox Code Playgroud)
结果:
{[1 2] [3 4]}
{[5 2] [3 4]}
{[5 2] [3 4]}
{[6 2] [3 4]}
Run Code Online (Sandbox Code Playgroud) go ×1