1、变量声明
var用于声明值从不更改的变量。
val用于声明值可以更改的变量。
2、类型推断
为变量赋予初始值后,Kotlin编译器可以根据所赋值的类型来推断其变量类型。
3、null安全
在变量类型后面加上 ? 后缀,可将变量指定为 null。
4、条件语句
Kotlin 的条件语句彰显了智能类型转换功能。
if-else 表达式。
when 表达式。
5、函数
fun关键字声明函数。
函数返回单个表达式的结果时,可以通过直接返回函数中包含的 if-else 表达式的结果来跳过声明局部变量。
6、匿名函数
匿名函数不需要名称,通过输入和输出更直接地进行标识。
可以保留对某个匿名函数的引用,以便日后使用此引用来调用该匿名函数。
与其他引用类型一样,也可以在应用中传递引用
变量:
1 | (参数类型)->返回值类型 |
1 | val stringLengthFunc: (String) -> Int = { input -> |
7、高阶函数
将其他函数用作参数的函数称为高阶函数。此模式对组件之间的通信(其方式与在 Java 中使用回调接口相同)很有用。
参数:
1 | (参数类型)->返回值类型 |
1 | fun stringMapper(str: String, mapper: (String) -> Int): Int { |
如果匿名函数是在某个函数上定义的最后一个参数,则可以在用于调用该函数的圆括号之外传递它。
1 | stringMapper("Android") { input -> |
8、类
class关键字定义类。
9、属性
类使用属性来表示状态。
10、类函数和封装
类使用函数对行为建模。
函数可以修改状态,从而只公开希望公开的数据。
这种访问控制机制属于一个面向对象的封装。
11、互操作性
由于 Kotlin 代码可编译为 JVM 字节码,因此 Kotlin 代码可直接调用 Java 代码,反之亦然。