在 Odersky 等人的 Scala 书中,他们说使用列表。我没有读完这本书的封面,但所有的例子似乎都使用了 val List。据我了解,还鼓励使用 vals 而不是 vars。但在大多数应用程序中,使用 var List 或 val MutableList 之间没有权衡吗?显然,我们尽可能使用 val 列表。但是使用大量的 var 列表(或 var 向量等)是一种好习惯吗?
我对来自 C# 的 Scala 很陌生。我有很多:
public List<T> myList {get; private set;}
如果 C# 内置了不可变性,则可以很容易地将集合声明为 val,因为集合本身在构造后从未更改,即使在其生命周期中会从集合中添加和减去元素。因此,声明一个 var 集合几乎感觉像是离不变性迈出了一步。
针对回答和评论,Scala 的一大卖点是:它可以带来很多好处,而无需像 Lisp 或 Haskell 那样完全改变编写代码的方式。