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