一. 可变参数函数

  • Go语言支持可变参数函数
  • 可变参数指调用参数时,参数的个数可以是任意个
  • 可变参数必须在参数列表最后的位置,在参数名和类型之间添加三个点表示可变参数函数

    1. func 函数(参数,参数,名称 ... 类型 ){
    2. //函数体
    3. }
  • 输出语句就是可变参数函数,源码如下

    1. func Println(a ...interface{}) (n int, err error) {
    2. return Fprintln(os.Stdout, a...)
    3. }
  • 声明函数时,在函数体把可变参数当作切片使用即可

二.代码示例

  • 声明可变参数声明与调用 ```go func main() { demo(“看书”, “写代码”, “看佳明哥视频”) }

func demo(hover … string) { for a, b := range hover { fmt.Println(a, b) } }

  1. - 可变参数必须存在其他参数后面,一个函数不能有多个可变参数.
  2. - 因为前面普通参数个数是确定的,编译器知道,哪个实参给哪个形参
  3. ```go
  4. func main() {
  5. demo("张三", "看书", "写代码", "看佳明哥视频")
  6. }
  7. func demo(name string, hover ... string) {
  8. fmt.Println(name, "的爱好是")
  9. for a, b := range hover {
  10. fmt.Println(a, b)
  11. }
  12. }