有没有办法在Kotlin有一个私人文件常量

假设我有一些Utils.kt文件,它只包含一些实用函数,没有类,没有对象。 假设这些函数使用了一些常用的常量值。

所以我做这样的事情:

package myapp private val CONST1 = 1 private val CONST2 = 2 public fun function1() {} public fun function2() {} 

不幸的是,Kotlin将私人视为“可用于整个包裹”。 因此,CONST1和CONST2可用于同一包中的所有文件。 将它们隔离的唯一方法是将此文件移到单独的包中。

但是,如果我有几个这样的实用程序文件,每个都有自己的一组私人常量。 然后,我只有两个选择:将他们每个人移动到一个独特的软件包或放弃,并从任何地方都可以访问常量。

无论哪种方式似乎造成混乱。

任何选项或建议?

更新:实际上,我必须说这是在Kotlin中困扰我的罕见事物之一 – 没有办法使某个实体成为本地文件(不使用一些语法黑客):它可以提供给整个软件包,也可以提供给所有人)

UPD:这个问题现在已经过时(请参阅接受的答案)

具有private可见性的顶层声明仅在声明它们的文件中可见。

(原始答案,在提问时有效:Kotlin没有任何关于文件本地范围的概念,就我所知尽管没有计划介绍它,如果你不喜欢包范围(为什么?) ,你可以创建一个封装了它们使用的函数和私有常量的object