特殊点( 其实很多东西可以参考groovy的!)
- kt 的数组比较特殊
- 闭包的 foreach
- for 里面有 in
- if 里面也有 in
- .. until downTo step
- 0 until array.size 数组的遍历,直接indices
- 可变不可变(oc 里面有这个概念)mutable
- map 里面有 to(这个好像是关键字),mapOf
- typealias 类型别名
- list 的 += 和 groovy 有点像
- map 赋值和 js 一样
- pair 还有 解构 triple
- vararg 可变长度参数
- class 有主构造器之说,还有次,init
- open可以被复写,没加不可以override
- 继承需要,类需要加 ()
- final 不能override
- 函数有receiver
- 空类型
- var nullable:String?=”hello”
- val length=nullable!!.length//确定不为空,用两个感叹号
- val length = nullable?.length//为null时返回null
- null?:0//elvis运算符
- as 强制转换
- 类型转换有范围,
- as? 转换失败就是null
- data 数据类
- if else 表达式
- when 表达式 可以 c =
- try catch 也是表达式
- 中缀表达式 to infix
- String window函数
- 高阶函数return
- non-local return crossinline
- 内联属性
- 函数 let, run, also, apply, use
- 集合的变换,java 里面也有,fitler,flatmap,sum,reduce,fold
- sam java和kotlin 关联在一起
- 代理用 by
