Avatar ·

如何在Go中合并两个切片?切片连接

你好!我刚开始学习Go,遇到了一个问题。我需要将两个slice合并成一个。在Python中,我只需写`list1 + list2`,但在Go中,据我所知,没有这样的操作。 我有两个整数切片: ```go slice1 := []int{1, 2, 3} slice2 := []int{4, 5, 6} ``` 我想得到结果:`[1 2 3 4 5 6]`。我尝试使用`+`运算符,但编译器报错:`invalid operation: slice1 + slice2 (operator + not defined on slice)`。 后来我发现了`append`函数,但它一次只添加一个元素。为每个元素写循环不是效率很低吗?Go中是否有内置的方法或惯用解决方案?还有一个问题:如果我使用`append`,会影响原始切片吗?新切片会是独立的副本吗? 请告诉我如何在Go中正确合并切片,以及内存方面会发生什么?谢谢! <<>>

使用append与解包(variadic)