如何在Go语言中连接两个切片?
每当我们谈到将元素附加到切片时,我们都知道我们需要使用`append()`函数,该函数将切片作为第一个参数,并将我们想要附加的值作为下一个参数。
语法如下所示。
sl = append(sl,1)
我们可以用同样的命令附加多个值到切片“`sl`”,而不是只附加一个数字。
考虑以下代码片段。
sl = append(sl,1,2,3,4)
以上代码在**Go**中可以正常工作。
当涉及到将一个切片附加到另一个切片时,我们需要使用**可变参数**函数签名点。在Go语言的可变参数函数中,我们可以向函数传递可变数量的参数,并且可以使用参数名称访问所有数字。
让我们考虑一个简单的例子,我们将多个数字添加到整数切片中。
示例1
考虑以下代码。
package main import "fmt" func main() { sl := []int{1, 2, 3} sl = append(sl, 5, 6, 7) fmt.Println(sl) }
输出
运行代码时,将产生以下输出:
[1 2 3 5 6 7]
现在,假设我们不是传递数字,而是将切片字面量作为参数传递给`append`函数。
需要注意的是,要传递切片字面量,我们需要使用三个点(...)。
示例2
考虑以下代码。
package main import "fmt" func main() { sl := []int{1, 2, 3} sl = append(sl, []int{4, 5}...) fmt.Println(sl) }
输出
运行代码时,将产生以下输出:
[1 2 3 4 5]
我们也可以传递一个切片,而不是像上面示例中那样传递切片字面量。
示例3
考虑以下代码。
package main import "fmt" func main() { sl := []int{1, 2, 3} sl = append(sl, 5, 6, 7) sl1 := []int{0} sl1 = append(sl1, sl...) fmt.Println(sl) fmt.Println(sl1) }
输出
运行代码时,将产生以下输出:
[1 2 3 5 6 7] [0 1 2 3 5 6 7]
广告