Nik*_*Nik 6 scala library-design
我想将一组类似的函数分组到 scala 的库中。这是我在其他地方看到的两种方法。我想了解两者之间的差异。
// src/main/scala/com/example/toplevel/functions.scala
package com.example.toplevel
object functions {
def foo: Unit = { ... }
def bar: Unit = { ... }
}
Run Code Online (Sandbox Code Playgroud)
// src/main/scala/com/example/toplevel/package.scala
package com.example.toplevel
package object functions {
def foo: Unit = { ... }
def bar: Unit = { ... }
}
Run Code Online (Sandbox Code Playgroud)
据我所知,第一种方法需要functions在您想要使用其功能时显式导入该对象。而包对象方法允许包中的任何内容functions访问这些方法而无需导入它们。
即,com.example.toplevel.functions.MyClass可以隐式访问com.example.toplevel.functions.foo。
我的理解正确吗?
如果 中没有定义类com.example.toplevel.functions,则这些方法似乎是等效的,这是正确的吗?
| 归档时间: |
|
| 查看次数: |
1997 次 |
| 最近记录: |