📅  最后修改于: 2023-12-03 15:24:10.654000             🧑  作者: Mango
省略号 (...) 在 Golang 中有两种使用方式,分别为可变参数和切片展开。在本文中,我们将介绍这两种使用方式。
可变参数指的是函数参数的数量是可变的,这种特性在 Golang 中可以使用省略号 (...) 实现。下面是一个例子:
func sum(nums ...int) int {
total := 0
for _, num := range nums {
total += num
}
return total
}
func main() {
s := sum(1, 2, 3)
fmt.Println(s) // 输出 6
}
在上面的例子中,sum 函数接收一个可变参数 nums,nums 的类型为 int 的切片。使用 for range 遍历 nums 并计算总和。
在调用 sum 函数时,可以传递任意数量的 int 类型参数,省略号 (...) 代表可变参数。比如 sum(1, 2, 3) 和 sum(1, 2, 3, 4, 5) 都是合法的调用。
切片展开指的是将一个切片展开成可变参数,这个特性在 Golang 中同样可以使用省略号 (...) 实现。下面是一个例子:
func sum(nums ...int) int {
total := 0
for _, num := range nums {
total += num
}
return total
}
func main() {
nums := []int{1, 2, 3}
s := sum(nums...)
fmt.Println(s) // 输出 6
}
在上面的例子中,sum 函数仍然接收一个可变参数 nums,但是 main 函数中 nums 是一个切片。
在调用 sum 函数时,可以使用省略号 (...) 将 nums 展开成可变参数。比如 sum(nums...) 就相当于 sum(1, 2, 3)。
本文介绍了在 Golang 中使用省略号 (...) 的两种方式:可变参数和切片展开。使用省略号 (...) 可以简化函数的定义和调用,使代码更加简洁明了。