有时,我看到如下代码:
var foo = lam@(x: int): int => ...
lam@是什么意思? lam和lam@有什么区别?
lam@
lam
在内存方面,lam创建一个盒装闭包(如果它是一个闭包),并在堆上分配它。 lam@创建一个平面闭合,并将其分配在堆栈框架上。
请参阅官方教程中的Chapter 26. Linear Closure-Functions 和Chapter 27. Stack-Allocated Closure-Functions以供参考。