相关疑难解决方法(0)

为什么append()会修改提供的切片?(见例)

您可以在Go Playground上运行示例代码.

这是代码:

package main

import "fmt"

func main() {
    numbers := []int{1, 2, 3, 4, 5}

    fmt.Println(numbers)
    _ = append(numbers[0:1], numbers[2:]...)
    fmt.Println(numbers)
}
Run Code Online (Sandbox Code Playgroud)

输出:

[1 2 3 4 5]
[1 3 4 5 5]
Run Code Online (Sandbox Code Playgroud)

为什么numbers通过追加修改切片?这是预期的行为,如果是的话,你能解释一下为什么吗?我认为append不会修改它的论点.

go

1
推荐指数
1
解决办法
663
查看次数

标签 统计

go ×1