我是Swift的新手,正在尝试学习闭包的概念。我在网上看到了以下代码:
var sayHelloClosure: () -> () = {
print("hello from closure")
}
当我删除=符号时,编译器输出错误消息:
Missing return in a function expected to return '() -> ()'
有人可以告诉我在特定情况下使用=吗?
让我们分解一下该语句:
var sayHelloClosure
好的,我们正在创建一个可变变量
: () -> ()
它具有类型() -> ()
,没有返回参数的函数void
。
=
它被设置为某种东西
{
print("hello from closure")
}
那是一个闭包(基本上是一个未命名的函数),它不带任何参数并且不返回任何内容(void
)
基本上,您现在有了一个变量,该变量指向执行这些花括号中功能的函数。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句