gpt4 book ai didi

kotlin - 有没有办法在 Kotlin 中拥有一个私有(private)文件常量

转载 作者:IT老高 更新时间:2023-10-28 13:33:23 24 4
gpt4 key购买 nike

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

所以我做了这样的事情:

package myapp

private val CONST1 = 1
private val CONST2 = 2

public fun function1() {}
public fun function2() {}

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

但是,如果我有几个这样的实用程序文件,每个都有自己的一组 private 常量。然后我只有两个选择:将它们中的每一个移到一个唯一的包中,或者放弃并让它们中的所有 const 都可以在任何地方访问。

无论哪种方式似乎都会造成困惑。

有什么选择或建议吗?

(upd: 实际上,我必须说这是在 Kotlin 中困扰我的那些罕见的事情之一 - 无法使某些实体成为文件本地的(不使用一些语法技巧):它是可用于整个包装或所有人)

UPD:此问题现已过时(请参阅已接受的答案)

最佳答案

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

(原始答案,在提出问题时有效:Kotlin 没有任何文件本地范围的概念,据我所知,没有计划引入它。如果您不喜欢包范围(为什么?),您可以创建一个 object 封装函数和它们使用的私有(private)常量。

关于kotlin - 有没有办法在 Kotlin 中拥有一个私有(private)文件常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29717241/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com