When句型
when(s){
1->print
2..100->
else->
}
when可以不加参数
when{
s==1->
}
var result = when(){}返回值是最后一行
获取函数引用
var addfun = ::add()
可变参数
fun newAdd(vararg params:Int):Int{} params就是一个数组
顶层函数、嵌套函数
异常处理
kotlin无编译时异常
递归
Kotlin支持尾递归函数,允许一些算法使用递归方式代替循环;而且不会有堆栈溢出的风险。使用“tailrec”关键字修饰,编译器可以优化递归,生成一个快速、高效的循环版本。
尾递归:1.有关键字 2.只调用自己,没有其他多余操作
面向对象
运算符重载
就是重写相应的方法 operator fun plus(a,b)