包
包的声明应处于源文件顶部:
package base
import java.text.SimpleDateFormat
import java.util.*
目录与包的结构无需匹配,源代码可以在文件系统的任意位置
变量
在 Java 中,大部分的变量是可变的,意味着任何可以访问到这个变量的代码都可以去修改它。而在 Kotlin 中,变量可以分为 可变变量(var) 和 不可变变量(val) 两类,不可变变量在赋值之后就不能再去改变它的状态了,因此不可变变量可以说是线程安全的,因为它们无法改变,所有线程访问到的对象都是同一个,因此也不需要去做访问控制,开发者应当尽可能地使用 val
此外,在 Kotlin 中一切都是对象,没有像 Java 中那样的原始基本类型,但 byte、char、integer、float 或者 boolean 等类型仍然有保留,但是全部都作为对象存在
看以下例子
fun main(args: Array<String>) {
//只读变量即赋值后不可以改变值的变量,用 val 声明
//声明一个整数类型的不可变变量
val intValue: Int = 100
//声明一个双精度类型的可变变量
var doubleValue: Double = 100.0
}
在声明变量时我们通常不需要指明变量的类型,这可以由编译器根据上下文自动推导出来
fun main(args: Array<String>) {
//在声明变量时我们通常不需要指明变量的类型,这可以由编译器根据上下文自动推导出来
val intValue = 100
var doubleValue = 100.0
//如果只读变量在声明时没有初始值,则必须指明变量类型
val intValue2: Int
intValue2 = 10
}