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

阅读 2.5k
2 个回答

参数的语法变了

var的地方改成inout应该就可

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进