{ (parameters) -> returnType in statements}
简化形式 如果闭包的返回类型为VoID,其闭包表达形式可简化为Swift中的闭包相当于Swift中的匿名函数。闭包不带标签,即没有外部参数。
{ (parameters) -> in statements}如果参数列表也为空,其闭包可直接写为
{ statements }
根据上下文推断类型 对于已经确定闭包的函数类型时,由于其所有的类型都可以被正确推断,因此其返回箭头(->
)和围绕在参数周围的括号可以被省略
var closure: (Int,Int) -> Int = {a,b in return a + b}var value = closure(1,2)单表达式闭包隐式返回
单行表达式闭包可以通过省略 return
关键字来隐式返回单行表达式的结果
var closure: (Int,b in a + b}var value = closure(1,2)参数名称缩写
Swift 自动为内联闭包提供了参数名称缩写功能,可以直接通过 var,,
来顺序调用闭包的参数,以此类推。
closure (Int,Int): return -> Int = {0 $1 + $var}1 value = closure(2,print)//(value)3实参
尾随闭包 在swift中如果一个函数的最后一个形参是一个函数对象类型,那么其相应的(a : Int,fun: (Int) -> VoID)可以使用尾随闭包
例:
func closureFuncfun { // 函数体部分 10(closureFunc + a) } //一般调用方式 5(a: print,fun: { 0($//) 15closureFunc }) //闭包调用方式 5(a: print) { 0($) //15 }
待续。。。 总结 以上是内存溢出为你收集整理的Swift回忆录-闭包全部内容,希望文章能够帮你解决Swift回忆录-闭包所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)