Go 语言中的变参

在开发过程中,很有可能会遇到不确定传入参数数量的问题。比如答题系统开发时,可能会遇到多选题,这里面就无法确定传入参数的数量。此时就需要一个变参传递的方案,在 Go 语言中,使用...来接收或者传递变。

 

1. 使用…来接收变参

在函数的参数类型前加上...就可以用于接收不定长度的该类型的变参,如果连类型也无法确定,则使用...interface{}。变参类型的参数在使用时是一个变参类型的切片。

代码示例:

代码块
  • package main
  • 2
  • import "fmt"
  • 4
  • func main() {
  • 6          variableParameter(1, 2, 3, 4, 5)
  • }
  • 8
  • func variableParameter(i ...int) {
  • 10        fmt.Println("输出变参:", i)
  • 11  }
  • 第 9 行:定义变参函数,其变参类型为 int。
  • 第 6 行:传入 5 个参数。

执行结果:

image.png

 

2. 使用…来传递变参

当你传递的参数是一个切片时,此时你无法确定其长度,你就可以用...来传递其全部的值到变参函数中。

代码示例:

代码块
  • package main
  • 2
  • import "fmt"
  • 4
  • func main() {
  • 6          i := []int{1, 2, 3, 4, 5}
  • 7          variableParameter(i...)//传递i中的所有值
  • }
  • 9
  • 10  func variableParameter(i ...int) {
  • 11        fmt.Println("输出变参:", i)
  • 12  }

执行结果:

image.png

 

3. 小结

本文主要讲解了 Go 语言中如何使用变参。变参在函数中的使用是可以作为一个切片来使用的,而当一个切片想要传值给变参时,只需要在切片后加上...

文章来源于网络,侵删!

相关新闻