使用 Kotlin 进行 Android 开发,可以受益于:
- 代码更少、可读性更强。
- 成熟的语言与环境。。
- Android Jetpack 与其他库中的 Kotlin 支持。
- 与 Java 的互操作性。
- 支持多平台开发。
- 代码安全。
- 易学易用。
- 大社区。
包的定义与导入:
import kotlin.text.*
程序入口点:
Kotlin 应用程序的入口点是 main
函数。
函数
带有两个 Int
参数、返回 Int
的函数
变量
定义只读局部变量使用关键字 val
定义。只能为其赋值一次。
注释
与大多数现代语言一样,Kotlin 支持单行(或行末)与多行(块)注释。
字符串模板
var a = 1
// 模板中的简单名称:
val s1 = "a is $a"
a = 2
// 模板中的任意表达式:
val s2 = "${s1.replace("is", "was")}, but now is $a"
空值与 null 检测
当某个变量的值可以为 null 的时候,必须在声明处的类型后添加 ?
来标识该引用可为空。
如果 str
的内容不是数字返回 null
for
循环
val items = listOf("apple", "banana", "kiwifruit")
for (item in items) {
println(item)
}
类型检测与自动类型转换
is 运算符检测一个表达式是否某类型的一个实例。 如果一个不可变的局部变量或属性已经判断出为某类型,那么检测后的分支中可以直接当作该类型使用,无需显式转换
在纯 Kotlin 项目中,推荐的目录结构遵循省略了公共根包的包结构。例如,如果项目中的所有代码都位于 org.example.kotlin
包及其子包中,那么 org.example.kotlin
包的文件应该直接放在源代码根目录下,而 org.example.kotlin.network.socket
中的文件应该放在源代码根目录下的 network/socket
子目录中。
类布局
通常,一个类的内容按以下顺序排列:
- 属性声明与初始化块
- 次构造函数
- 方法声明
- 伴生对象
命名规则
在 Kotlin 中,包名与类名的命名规则非常简单:
-
包的名称总是小写且不使用下划线(
org.example.project
)。 通常不鼓励使用多个词的名称,但是如果确实需要使用多个词,可以将它们连接在一起或使用驼峰风格(org.example.myProject
)。 -
类与对象的名称以大写字母开头并使用驼峰风格