仓颉 函数
函数定义
在仓颉中,如果函数的返回是return
即是一个空返回,等价于return ()
,也就是返回一个Unit
类型而且必须是Unit
类型。
函数类型
"函数"在仓颉中也是一等公民,可以作为参数或者返回值,也可以赋值给变量.
函数类型有函数的参数类型和返回值组成,由->
连接. 参数类型用圆括号()
包围,可以有0个或者多个参数,使用逗号,
分隔
闭包
在仓颉中,一个函数或者lambda从定义它的静态作用域中捕获了变量,函数或者lambda和捕获的变量一起称为一个闭包,这样即使脱离了闭包 定义所在的作用域,闭包也能正常运行
函数或lambda的定义对于以下几种变量的访问,称为变量捕获
:
- 函数的参数缺省值中访问了函数之外定义的局部变量;
- 函数或lambda内部访问了函数或者lambda之外定义的局部变量;
- class/struct 内定义的不是成员函数的函数或lambda访问实例成员变量或者
this