gpt4 book ai didi

kotlin - Kotlin命名约定

转载 作者:行者123 更新时间:2023-12-02 12:30:01 25 4
gpt4 key购买 nike

我是一位美学程序员,最近我冒险进入Kotlin。我将我的静态变量命名为val PREF_NAME = "onb"并在android studio中收到了警报
enter image description here
我对此进行了调查,但与Kotlin官方文档相矛盾

Names of constants (properties marked with const, or top-level or object val properties with no custom get function that hold deeply immutable data) should use uppercase underscore-separated names:

const val MAX_COUNT = 8

val USER_NAME_FIELD = "UserName"


有什么我想念的吗?

最佳答案

我认为您正在执行的操作是将val放置在常规类中,如下所示:

class X {
val PREF_NAME = "onb"
}

通过这样做,您将为类的每个实例赋予单独的属性-即使它们都具有相同的值,这与在Java术语中具有单个静态常量并不完全相同。

在您引用的文档中,特别是以下部分,列出了将常量放置为仅具有单个实例的位置:

properties marked with const, or top-level or object val properties with no custom get function



因此,这些属性可以是顶级的(不嵌套在文件中的任何其他内容中):
val PREF_NAME = "onb"

或在 object内:
object X {
val PREF_NAME = "onb"
}

或在同伴对象内:
class X {
companion object {
val PREF_NAME = "onb"
}
}

如果在编译时常量不变,那么在这些地方也可以使用 const 修饰符标记属性。

关于kotlin - Kotlin命名约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51796746/

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