一、常量与变量
1.1 类型推导
在 Kotlin 中,只要是编译器认识的类型,就可以自动推导出变量的类型,不需要我们显示的指定。
val a = "fancyluo" //推导 String
val b = 666 //推导 Int
val c = a + b //推导 String
1.2 常量
Kotlin 中使用 value
的缩写 val
来表示一个不可变的值类型,与 Java 中 final
的用法类似。
// Java
public static final String NAME = "fancyluo"
// Kotlin
val NAME = "fancyluo"
以上的两行代码在使用上来说是一样的,如果你想重新给「NAME」赋值,是不被允许的,编译器会报错。
但是,它们本质上还是有区别的,下面引入一个概念
编译期常量:值在编译期就已经确定的常量,并且会把对它的引用全部替换为它的值。
Java 使用 final
定义的是编译期常量,而 Kotlin 使用 val
定义的是不可变的值类型,也可以称为运行时常量。如果想要在 Kotlin 中定义编译期常量,那么需要使用 const
关键字。
const val NAME = "fancyluo"
1.3 变量
Kotlin 中使用 variable
的缩写 var
来表示变量,变量可以被重新赋值。
var x = "fancyluo"
x = "HiphopMan"