📅  最后修改于: 2023-12-03 15:05:47.481000             🧑  作者: Mango
在 Kotlin 中,val 和 const 都是用来声明常量的关键字,但它们之间有一些区别。
val
是一个不可变的变量,只能被赋值一次,即它是只读的。它的值可以在编译时确定,也可以在运行时确定;但一旦赋值,其值就不能被重新分配。
val name = "Alice"
name = "Bob" // 编译错误:val cannot be reassigned
const
是一个编译时常量,只能用于顶层或对象声明中定义的变量。这个变量在编译时就已经确定了它的值,不能被重新分配。因为它是编译时常量,所以它只能是基本数据类型、字符串或者其他 const 属性的引用。
const val PI = 3.14
const val name = "Alice"
object Example {
const val MAX_VALUE = 100
const val MIN_VALUE = -100
}
val
可以定义为局部变量,而 const
只能在顶层或对象声明中使用。val
的值可以在运行时确定,而 const
的值必须在编译时确定。val
的值可以是任何类型,而 const
只能是基本数据类型、字符串或其他 const
属性的引用。val
可以被重新分配,const
无法重新分配。val
用于定义一个只读变量,其值在运行时确定;const
用于定义编译时常量,其值在编译阶段被确定。通过选择不同的关键字,我们可以根据需要来定义常量。