Kotlin 中“const”和“val”的区别是什么?


const 关键字

在 Kotlin 中,只要变量的值在应用程序的整个生命周期中保持不变,就使用const关键字。这意味着const仅应用于类的不可变属性。简单来说,使用const声明类的只读属性。

const变量有一些限制,如下所示:

  • const只能应用于类的不可变属性。

  • 它不能赋值给任何函数或任何类构造函数。它应该赋值为原始数据类型或字符串。

  • const变量将在编译时初始化。

示例

在下面的示例中,我们将声明一个const变量,并在我们的应用程序中使用相同的变量。

const val sName = "tutorialspoint";
// This line will throw an error as we cannot
// use Const with any function call.
// const val myFun = MyFunc();

fun main() {
   println("Example of Const-Val--->"+sName);
}

输出

它将产生以下输出:

Example of Const-Val--->tutorialspoint

val 关键字

在 Kotlin 中,val也用于声明变量。"val""const val"都用于声明类的只读属性。声明为const的变量在运行时初始化。

  • val处理类的不可变属性,即只能使用val声明只读变量。

  • val在运行时初始化。

  • 对于val,内容可以不变,而对于const val,内容不能更改。

示例

我们将修改前面的示例以使用val传递函数,并且在运行时不会出现任何错误。

const val sName = "tutorialspoint";

// We can pass function using val
val myfun=MyFunc();

fun main() {
   println("Example of Const-Val--->"+sName);
   println("Example of Val--->"+myfun);
}

fun MyFunc(): String {
   return "Hello Kotlin"
}

输出

执行代码后,它将生成以下输出:

Example of Const-Val--->tutorialspoint
Example of Val--->Hello Kotlin

更新于:2021年10月27日

7K+ 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告