我正在我的大学学习编程范式并阅读讲师提供的以这种方式定义函数的本课程材料:
val double = (x: Int) => 2 * x
double: Int => Int = <function1>
但根据我自己的研究,我发现并习惯于定义相同的函数:
def d (x: Int) = 2 * x
d: (x: Int)Int
我是 Scala 的新手。这两个定义都给出了以下结果:
res21: Int = 8
4
作为参数传递时。现在我的主要问题是为什么讲师更喜欢使用val
来定义一个函数?我认为它更长并且不是真正必要的,除非 usingval
提供了一些我不知道的额外优势。此外,我了解 usingval
使某些名称成为占位符,因此在程序的后期,我可能会错误地编写val double = 5
并且该功能将消失!在这个阶段,我非常确信我学会了一种更好的定义函数的方法,除非有人告诉我。