【发布时间】:2014-06-04 11:09:28
【问题描述】:
它提到在创建for循环时,我们可以使用0..3和0...3的简写分别替换i = 0; i < 3; ++i和i = 0; i <= 3; ++i。
一切都很好。
在“函数和闭包”部分的文档中进一步说,函数可以通过数组传递可变数量的参数。
但是,在代码示例中,我们又看到了...。
func sumOf(numbers: Int...) -> Int {
var sum = 0
for number in numbers {
sum += number
}
return sum
}
这是一个错误吗?在我看来,更直观的语法是numbers: Int[]。
下面的几个示例我们看到另一个代码示例,它具有以下内容:
func hasAnyMatches(list: Int[], condition: Int -> Bool) -> Bool {
【问题讨论】:
-
你不区分传递数组和传递可变参数吗?这是 2 个不同的用例。
-
不是按照文档说的:函数也可以接受可变数量的参数,将它们收集到一个数组中。就在使用
...的示例之前 -
“将它们收集到数组中”部分意味着这些变量参数可以作为数组访问,而不是
va_list。 -
哦,我明白了!谢谢大家。不知道为什么这个问题被标记了。感谢您的回答。
标签: swift