swfit autoclosure (闭包)

  • 闭包是什么
    很简单就是一段代码,同理lambdas ,底层是什么 目前理解就通C语言的函数指针吧,这个指针可以保存一个函数的地址,在必要的时候可以调用此函数的语句
  • 用它干什么
    回调,传值
  • 实现
    func logIfTrue(_ predicate: () -> Bool) {
    if predicate() {
    print("True")
    }
    }

logIfTrue({return 2 > 1})
logIfTrue({2 > 1})
logIfTrue{2 > 1}

func logIfTrue(_ predicate: @autoclosure () -> Bool) {
if predicate() {
print("Truekkk")
}
}

logIfTrue(2 > 1)

打印:
True
True
True
Truekkk

你可能感兴趣的:(swfit autoclosure (闭包))