【发布时间】:2020-02-02 15:23:08
【问题描述】:
func myFunc(array:[Int]) -> (min: Int, max: Int)?
{
if array.isEmpty {return nil}
var minNumber = array[0]
var maxNumber = array[0]
for number in array {
if number < minNumber {
minNumber = number
}
else if number > maxNumber{
maxNumber = number
}
}
return (minNumber, maxNumber)
}
let tempArray:[Int] = [1,2,3,4,5,6,7]
let value = myFunc(array: tempArray)
print("The minima is: \(value?.min != nil ? value!.min : nil) the maxima is \(value?.max != nil ? value!.max : nil)")
例如,在给定的代码中,如果代码包含一些值,它将强制展开,但如果不包含它,它将只打印“nil”。但在我的代码中,如果它包含数字,它将打印 Optional(some number)。
【问题讨论】:
-
value?.min != nil ? value!.min : nil和value?.min是一样的……那为什么呢? -
不是sn-p,是完整代码。