如何解释error.thanks

时间:2016-03-16 02:59:48

标签: swift

//习题 写一个计算参数平均值的函数
func cacuAver(numbers:Int...)->Int{
    var average=0
    var sum=0
    if (numbers.count!=0){
        for number in numbers{
            sum+=number
        }
        average =sum/numbers.count
    }
    return average 
}

if numbers.count!=0语句中发生错误,无法强制解包非可选类型'Int'的值,但当我更改为if numbers.count==0时,错误消失。

我想知道我犯错的原因和地点。

1 个答案:

答案 0 :(得分:2)

实际上非常简单,因为你知道!?是Swift中的语法,所以最好在这些运算符之间留一个空格,这样做也没问题,比如说if numbers.count != 0

!表示肯定有值,而?表示它是可选值。错误会将您的numbers.count!视为1个字而不是!=