猿问

swift 2.2 闭包 语法问题

按照书本写了以下代码,但貌似因为所用swift版本(我的环境是Xcode7.3)不同导致了一点语法错误,没有想到头绪……

let simpleInterestCalculationClosure = { (loadAmmon : Double, var interestRate : Double, years : Int) -> Double in
    //警告1:'var' parameters are deprecated and will be remove in swift 3 fix-it Delete "var"

    interestRate = interestRate / 100.0
    //错误2: Cannot assign to value: 'interestRate' is a 'let' constant
    
    var interest = Double(years) * interestRate * loadAmmon    
    return loadAmmon + interest
}

但是删除了var之后会出现错误2


侃侃尔雅
浏览 1251回答 2
2回答

Qyouu

使用inout来使参数在函数/闭包内可变

哈士奇WWW

参数的语法变了var的地方改成inout应该就可
随时随地看视频慕课网APP
我要回答