https://stackoverflow.com/questions/16248241/concatenate-two-slices-in-go

问题

我想试着合并切片 [1, 2] 和切片 [3, 4],在 Go 中应该怎么做?

我尝试使用:

append([]int{1,2}, []int{3,4})

但只得到:

cannot use []int literal (type []int) as type int in append

文档 中貌似说这是可行的,我错在哪里?

slice = append(slice, anotherSlice...)

回答

在第二个切片中添加三个点

//                           vvv
append([]int{1,2}, []int{3,4}...)

这就像其它可 可变参数函数 那样:

func foo(is ...int) {
    for i := 0; i < len(is); i++ {
        fmt.Println(is[i])
    }
}

func main() {
    foo([]int{9,8,7,6,5}...)
}

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注