- fun 函数声明
- val / var 变量声明
- ${} 字符串模板
- import 导入任何种类的声明
- enum class 枚举
- when 分支表达式
- … 区间表达式(递增,闭区间)
- until (递增,开区间)
- for( a in…) 循环
- down To 递减
- step设置步长
- in !in 判断对象是否在集合或区间中
- const val 类似于Java中static final ,适用于所有基本数据类型和String类
- vararg 可变参数
- “*” 星号,展开运算符,用于数组,可以让数组元素在函数中作为单独的参数来调用
- to 中缀调用, infix修饰函数,允许使用中缀符号
- interface 定义接口
- :继承(实现)、函数返回值类型
- override重写修饰符
- super.methor() 调用父类方法
- open 允许该类被继承(方法被重写),Kotlin中默认的类和方法都是final
- final 禁止该方法被重写
- abstract 抽象
- public , private, protected, internal 可见性修饰符,默认public,internal模块内可见
- inner 内部类
- 嵌套类 默认
- sealed 密封类
- constructor 构造方法
- init{} 初始化语句块
- super(params…)调用父类的构造方法
- this(params…)调用自己类的其他构造方法
- field 访问属性的支持字段$field
- == 检查相等性(类似于Java中的equals方法)
- === 进行引用比较
- is 等价于Java中的instanceOf
- data class 数据类(自动生成方法的实现类)
- by 委托
- object 声明对象(单一实例,无构造方法)
- companion object 伴生对象(工厂方法,静态成员)
- object : 声明匿名内部类
- maxBy{} 指定比较哪个值找到最大元素,需要一个参数:一个函数
- it 默认参数名称
- :: 成员引用(Person::age)
- {… -> …} Lambda表达式
- run{} 执行代码块
- filter 过滤(从集合中找寻满足条件的所有元素)
- map 转换(对集合中的每一个元素应用给定的函数并把结果收集到一个新集合)
- all 判断集合中的所有元素是否满足某个条件 返回布尔值类型
- any 判断集合中是否至少有一个元素满足条件 返回布尔值类型
- count 返回集合中满足条件的个数
- find 找到集合中第一个满足条件的元素,如果没有返回Null 等价于 firstOrNull
- groupBy 根据条件把集合转换成分组的map
- flatMap 根据作为实参给定的函数对集合中的每个元素做变换,然后把多个列表合并成一个列表
- asSequence() 把任意的集合转换成序列 (惰性操作)
- toList 把序列转换成集合
- with(params){} with的返回值是lambda中最后一个表达式
- apply apply始终会返回作为实参传递给它的对象(返回接收者的对象),返回第一个参数
- ? 允许变量为null
- ?. 安全调用
- ?: Elvis运算符(不为null就是前面的运算数,为null就是后面的运算数)
- as? 安全转换
- !!. 非空断言
- let函数 ?.let{} 把调用Lei函数的可空对象转换成非空类型
- lateinit 延迟初始化, 所有延迟初始化都是var类型
- Any , Any? 根类型(前者非空,否则可为空)
- Unit Kotlin中的void
- Nothing 这个函数永不返回
- operator 重载符号
- a[index] 下标运算符 重载get()方法
- in 检查某个对象是否属于集合
- rangeTo 创建区间…
- by 委托
- by lazy{} 延迟初始化
- inline 内联函数关键字,作用:销除lambda带来的运行开销
- where 指定泛型的多个约束
- reified 具体化,使用inline来修饰函数,reified来修饰类型形参,作用:可以在运行时引用实际的类型参数
- ::class.java 获取java.lang.Class对应的Kotlin类
- out 泛型中协变关键字 作用:保留子类型化关系,泛型T只能用在out位置(返回值)相当于Java中的extends
- in 逆变,可以看作是协变的镜像 相当于Java中的super
- @ 应用注解,lambda中做局部返回
Kotlin中最常用的80个关键字
最新推荐文章于 2024-09-05 12:06:23 发布