变参数函数(接收可变数量参数的函数)语法
语法
- 函数定义
function 函数名称(参数1, 参数2, ...可变参数名)
function func(...args);
begin
return sum(args);
end;
function func(x, y, ...args);
begin
return sum(args) + x + y;
end;
func将支持任意多个参数调用,并且会把所有的可变参数收集到可变参数变量中。
- 调用函数时:如果函数定义时有可变参数,将支持任意参数,函数名(参数1, 参数2, ...)。所有的可变参数将会被接收到可变参数名变量中。
例如:
y := func(1,2,3);
println("y={}", y);
function func(...args);
begin
return sum(args);
end;
打印:
y=6
函数func中的args变量将会接收所有的可变参数,内容是数组 array(1,2,3)。
- 如何把数组在函数调用时转换成可变参数:...数组。
例如
x := array(1,2,3);
y := func(...x);
println("y={}", y);
function func(...args);
begin
return sum(args);
end;
打印:
y=6
在调用func(...x)时,....x会把数组内容依次转换成调用参数,变成func(1,2,3)。
函数func中的args变量将会接收所有的可变参数,内容是数组 array(1,2,3)。
TODO
- 支持可变命名参数,例如: