如何在函数内部修改非inout参数
如果需要实现已被废弃的var参数的功能(在函数内部修改参数值,函数外部不可见),可以采用声明变量覆盖同名参数的办法
func f(i: Int) { // i += 1 // ERROR var i = i i += 1 } let x = 3 f(x) // x == 3试比较:
func f(inout i: Int) { i += 1 } var x = 3 f(&x) // x == 4
注意无参数闭包的写法
无参数的闭包和代码块形式相同,需要根据上下文加以区分。
let a = 3 let f = { a % 2 == 0 } // 闭包 let f2 = { return a % 2 == 0 } // 闭包 func f3() -> Bool { // 函数 return a % 2 == 0 } let b = f() || f2() || f3() // b == false原文链接:/swift/323206.html