2

这是一个命名参数:

def foo(bar: => Boolean): Boolean = bar

这是一个函数参数:

def foo(bar: () => Boolean): Boolean = bar()

这两个声明有何不同?两者都将被懒惰地评估并且每次访问参数时?一种语法或另一种语法有优势吗?前者是否意味着纯粹的功能而不是后者的副作用?

4

0 回答 0