小编AMM*_*AMM的帖子

Golang 切片复制

我不明白最后一步结果,我认为“复制”使用值。如果您能解释一下,我将不胜感激。

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

-2
推荐指数
1
解决办法
3072
查看次数

标签 统计

go ×1