通常我会创建一个“Scala对象”来保存所有的全局常量。 我被告知最好使用“包对象”来保持常量。 我之前从未使用过“包对象”,所以我的问题是:
在Scala中保存常量的最佳做法是什么?为什么?
为什么我需要“包对象”?
答案 0 :(得分:5)
你不需要一个包对象。
但是,它允许您在包级别创建代码而不声明另一个类或对象。
这是一种便利。
package foo.bar
package object dem {
// things here will be available in `foo.bar` package and all subpackages
// without the need of an import statement.
}
为常量指定的唯一约定是关于casing。常量应该是 PascalCased
请注意,在包对象中声明常量可能会使它们在您不希望它们可用的地方可用。
我告诉你naming convention包裹对象:
标准命名约定是将上面的定义放在名为package.scala的文件中,该文件位于与包pp对应的目录中。