kotlin入门学习

简单理解:

对java的简化,大量语法糖,以及线程优化:协程
1、对get,set省略(包括创建以及使用,同时支持自定义,类似做到lombok的实现)
2、空值判断,通过 ?号,完成空指针的判断,简化极大量java中null的判断
3、java的蓝布达都是弟弟(必须创建函数式接口),kt的函数式编程更加简化
4、糖化带来的负面就是可读性差,语法糖更多是一个使用熟练度的++
5、协程,通俗讲就是单个CUP多线程调度的优化,个人理解,用于IO密集型多线程

  • 个人观点
    【代码简洁度提升, 可读性下降,实际开发效率个人认为不会提升多少(除非写代码量巨大的底层?)虽然和java无差别适应,但像是用主流spring桶,一种代码风格应该更好】

数据类型

image
kt基本类型对应包装类就是设置了初始值的基本类型
数据声明:var = 可变 val = 不可变,凡是不进行操作的数据尽量用val(类似final)

数据集合


简单区分,Mutablel则为可变,反之为不可变

复合符号

  • ?.安全调用符

if (foo != null){
    return foo.bar()
}else{

    return null
}
  • ?:

  • as?

  • !!

image

凡是调用方法前,有空指针风险的,都可以通过 ?去解决

作用域

这里贴上官网链接:

常用大概就 let,apply

至此完结!…