Kotlin中常用的几个关键字

1. val / var 变量声明
  • val:修饰变量时相当于 java 中 final
  • var
2. fun 函数声明
3. ${} 字符串模板
4. import 导入任何种类的声明

同 java 中的 import ,区分不同包中的同名类
kotlin 分包和 java 不同,不是严格的分包。即可以不在包对应的文件夹下。

4. enum class 枚举
5. when 分支表达式
6. … 区间表达式(递增,闭区间)
7. until (递增,开区间)
8. for( a in…) 循环
9. down To 递减
10. step设置步长
11. in !in 判断对象是否在集合或区间中
12. const val 类似于Java中static final ,适用于所有基本数据类型和String类
13. vararg 可变参数
14. “*” 星号,展开运算符,用于数组,可以让数组元素在函数中作为单独的参数来调用
15. to 中缀调用, infix修饰函数,允许使用中缀符号
16. interface 定义接口
17. :继承(实现)、函数返回值类型
18. override重写修饰符
19. super.methor() 调用父类方法
20. open 允许该类被继承(方法被重写)

Kotlin中默认的类和方法都是final

21. final 禁止该方法被重写
22. abstract 抽象
23. public , private, protected, internal 可见性修饰符,默认public,internal模块内可见
24. inner 内部类
25. 嵌套类 默认
26. sealed 密封类
27. constructor 构造方法
28. init{} 初始化语句块
29. super(params…)调用父类的构造方法

this(params…)调用自己类的其他构造方法

30. field 访问属性的支持字段$field
31. == 检查相等性(类似于Java中的equals方法)
32. === 进行引用比较
33. is 等价于Java中的instanceOf
34. data class 数据类(自动生成方法的实现类)
35. by 委托
36. object 声明对象(单一实例,无构造方法)
37. companion object 伴生对象(工厂方法,静态成员)
38. object : 声明匿名内部类
39. maxBy{} 指定比较哪个值找到最大元素,需要一个参数:一个函数
40. it 默认参数名称
41. :: 成员引用(Person::age)
42. {… -> …} Lambda表达式
43. run{} 执行代码块
44. filter 过滤(从集合中找寻满足条件的所有元素)
45. map 转换(对集合中的每一个元素应用给定的函数并把结果收集到一个新集合)
46. all 判断集合中的所有元素是否满足某个条件 返回布尔值类型
47. any 判断集合中是否至少有一个元素满足条件 返回布尔值类型
48. count 返回集合中满足条件的个数
49. find 找到集合中第一个满足条件的元素,如果没有返回Null 等价于 firstOrNull
50. groupBy 根据条件把集合转换成分组的map
51. flatMap 根据作为实参给定的函数对集合中的每个元素做变换,然后把多个列表合并成一个列表
52. asSequence() 把任意的集合转换成序列 (惰性操作)
53. toList 把序列转换成集合
54. with(params){} with的返回值是lambda中最后一个表达式
55. apply apply始终会返回作为实参传递给它的对象(返回接收者的对象),返回第一个参数
56. ? 允许变量为null
57. ?. 安全调用
58. ?: Elvis运算符(不为null就是前面的运算数,为null就是后面的运算数)
59. as? 安全转换
60. !!. 非空断言
61. let函数 ?.let{} 把调用Lei函数的可空对象转换成非空类型
62. lateinit 延迟初始化, 所有延迟初始化都是var类型
63. Any , Any? 根类型(前者非空,否则可为空)
64. Unit Kotlin中的void
65. Nothing 这个函数永不返回
66. operator 重载符号
67. a[index] 下标运算符 重载get()方法
68. rangeTo 创建区间…
69. by lazy{} 延迟初始化
70. inline 内联函数关键字,作用:销除lambda带来的运行开销
71. where 指定泛型的多个约束
72. reified 具体化,使用inline来修饰函数,reified来修饰类型形参,作用:可以在运行时引用实际的类型参数
73. ::class.java 获取java.lang.Class对应的Kotlin类
74. out 泛型中协变关键字 作用:保留子类型化关系,泛型T只能用在out位置(返回值)相当于Java中的extends
75. in 逆变,可以看作是协变的镜像 相当于Java中的super
76. @ 应用注解,lambda中做局部返回
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值