Golang 如何串联两个片断

Golang 如何串联两个片断

每当我们谈到向一个切片追加元素时,我们知道我们需要使用 append() 函数,该函数将一个切片作为第一个参数,将我们想要追加的值作为下一个参数。

语法看起来像这样。

sl = append(sl,1)
Go

我们可以在同一条命令中追加多个数值,而不是向分片 ” sl “追加一个数字。

请看下面的片段。

sl = append(sl,1,2,3,4)
Go

上面的代码在 Go 中可以正常工作 。

当涉及到将一个片断追加到另一个片断时,我们需要使用 变量 函数的签名点。在Golang的variadic函数中,我们可以向函数传递可变数量的参数,所有的数字都可以在参数名的帮助下被访问。

让我们考虑一个简单的例子,我们将向一个整数片添加多个数字。

例子1

考虑一下下面的代码。

package main
import "fmt"
func main() {
   sl := []int{1, 2, 3}
   sl = append(sl, 5, 6, 7)
   fmt.Println(sl)
}
Go

输出

当我们运行该代码时,它将产生以下输出 —

[1 2 3 5 6 7]
Go

现在,让我们假设我们不传递数字,而是传递一个slice literal作为 append 函数的参数。

应该注意的是,要传递一个slice literal,我们需要使用三个点(…)。

例2

考虑一下下面的代码。

package main
import "fmt"
func main() {
   sl := []int{1, 2, 3}
   sl = append(sl, []int{4, 5}...)
   fmt.Println(sl)
}
Go

输出

当我们运行该代码时,它将产生以下输出 —

[1 2 3 4 5]
Go

我们也可以传递一个分片,而不是像上面的例子那样传递一个分片的字面意思。

例三

考虑一下下面的代码。

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)
}
Go

输出

当我们运行该代码时,它将产生以下输出 —

[1 2 3 5 6 7]
[0 1 2 3 5 6 7]
Go

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册