gpt4 book ai didi

swift - Swift 中 `Int...` 和 `[Int]` 有什么区别?

转载 作者:行者123 更新时间:2023-11-30 10:14:37 24 4
gpt4 key购买 nike

// first segment
func hasAnyMatches(list: [Int], condition: Int -> Bool) -> Bool {
for item in list {
if condition(item) {
return true
}
}
return false
}
func lessThanTen(number: Int) -> Bool {
return number < 10
}
var numbers = [20, 19, 7, 12]
hasAnyMatches(numbers, condition: lessThanTen)

// second segment
func sumOf(numbers: Int...) -> Int {
var sum = 0
for number in numbers {
sum += number
}
return sum
}
sumOf()
sumOf(42, 597, 12)

段 1 中的 list 和段 2 中的 numbers 有什么区别?为什么一个是[Int]另一个是Int...

我尝试在 Playground 上交换它们,但显示错误。

最佳答案

[整数]

这表明参数是数组类型。

国际...

这表明该参数是可变参数。可变参数接受零个或多个指定类型的值。

差异

可变参数在函数体内用作常量数组,区别在于调用函数时,我们可以以无参数风格调用带有可变参数的函数,例如 function_variadic_type(),而数组类型的函数则不能这样做,必须有一个数组传入函数,如 function_array_type([1, 2])。

关于swift - Swift 中 `Int...` 和 `[Int]` 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30881773/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com