Thursday 2 March 2017

append - Concatenate two slices in Go



I'm trying to combine the slice [1, 2] and the slice [3, 4]. How can I do this in Go?



I tried:



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


but got:




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


However, the documentation seems to indicate this is possible, what am I missing?



slice = append(slice, anotherSlice...)

Answer



Add dots after the second slice:




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





This is just like any other variadic function.



func foo(is ...int) {

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

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

No comments:

Post a Comment

c++ - Does curly brackets matter for empty constructor?

Those brackets declare an empty, inline constructor. In that case, with them, the constructor does exist, it merely does nothing more than t...