Go 语言中的变参
在开发过程中,很有可能会遇到不确定传入参数数量的问题。比如答题系统开发时,可能会遇到多选题,这里面就无法确定传入参数的数量。此时就需要一个变参传递的方案,在 Go 语言中,使用...
来接收或者传递变。
1. 使用…来接收变参
在函数的参数类型前加上...
就可以用于接收不定长度的该类型的变参,如果连类型也无法确定,则使用...interface{}
。变参类型的参数在使用时是一个变参类型的切片。
代码示例:
package main
import "fmt"
func main() {
variableParameter(1, 2, 3, 4, 5)
}
func variableParameter(i ...int) {
fmt.Println("输出变参:", i)
}
- 第 9 行:定义变参函数,其变参类型为 int。
- 第 6 行:传入 5 个参数。
执行结果:
2. 使用…来传递变参
当你传递的参数是一个切片时,此时你无法确定其长度,你就可以用...
来传递其全部的值到变参函数中。
代码示例:
package main
import "fmt"
func main() {
i := []int{1, 2, 3, 4, 5}
variableParameter(i...)//传递i中的所有值
}
func variableParameter(i ...int) {
fmt.Println("输出变参:", i)
}
执行结果:
3. 小结
本文主要讲解了 Go 语言中如何使用变参。变参在函数中的使用是可以作为一个切片来使用的,而当一个切片想要传值给变参时,只需要在切片后加上...
。