go语言 – 变参函数语法

func hello(a int, b ...int) {  
}

在上面的函数中,参数b是可变的,它的前缀是省略号,可以接受任意数量的参数值。这个函数的调用示例:

hello(1, 2) //将一个参数值“2”传递给b
hello(5, 6, 7, 8, 9) //将参数值“6、7、8、9”传递给b

对于变参,也可以不传入参数值。

hello(1)  

变参只能放在最后。假设我们把变参放在前面,如下所示:

func hello(b ...int, a int) {  
}

在上面的函数中,不可能将参数值传递给参数a,因为传递的任何参数都将被分配给第一个参数b,因为它是可变参数。

因此,变参只能出现在最后。上面的函数将报编译错误:

syntax error: cannot use ... with non-final parameter b


浙ICP备17015664号-1 浙公网安备 33011002012336号 联系我们 网站地图  
@2019 qikegu.com 版权所有,禁止转载