这条线在Swift中意味着什么?
我现在正在阅读Swift 3书,并在那里发现了这一行:
func sumOf(numbers: Int...) -> Int { }
并且只有这样的描述:
Functions can also take a variable number of arguments, collecting them into an array.
我没有得到那些(numbers: Int...)
意思。 有人可以解释一下吗?
它被称为variadic arguments
, 在这里解释。
可变参数接受零个或多个指定类型的值。 使用可变参数指定在调用函数时可以向参数传递不同数量的输入值。 通过在参数的类型名称后插入三个句点字符(…)来写入可变参数。
根据上面的解释,可变参数是变量的参数,函数在数组数组中采用可变数量的参数。 因此,如果您想打印每个元素,您可以这样做
func sumOf(numbers: Int...) -> Int { var sum:Int = 0 for num in numbers { sum = sum + num } return sum }
并且传递给这个数字的int元素的数量可能非常多。
使用带有varidic参数的函数的示例
func log(args: AnyObject ...) { var text = "" for arg in args { text += " \(arg)" } print("\(text)") }
log(“Arg1”,“Arg2”)
log(“Arg1”,“Arg2”,“Arg3”)