Kotlin学习笔记
文章平均质量分 89
RugerMc
寄蜉蝣于天地,渺沧海之一粟
展开
-
深入理解Kotlin协程SafeCoroutine
由于写完的文章也不会有太多人阅读,所以之后博客仅作为个人学习笔记使用,不定期更新,方便以后再复习时能够快速拾回这段遗忘的知识。如果有读者无意搜索到这篇文章,阅读后觉得对你有所帮助,希望您能点个赞,感谢支持。SafeCoroutine作用SafeCoroutine在suspendCoroutine中创建,主要有两个作用。保证suspendCoroutine的挂起点(也就是传入lambda的continuation参数)只会被resume一次保证suspend lambda参数直接resume时,.原创 2021-05-01 18:29:35 · 507 阅读 · 1 评论 -
Kotlin数据类型
Kotlin 是强类型语言var:变量,根据初始值来自动分配类型val:常量,对于局部常量,可在使用前对其进行赋值(声明与赋值分离)整数类型ByteShortIntLong1248Kotlin是null安全的语言普通类型变量是不接受null值的,如果需要存储null值,需要使用包装类型Byte?、Short?、Int?、Long?普通类型会映射到ja...原创 2019-04-10 21:59:05 · 230 阅读 · 0 评论 -
Kotlin when语句的学习
when语句When语句取代 java中的 case语句default语句变成了有意义的 else语句特征每个分支的判断条件不一定是常量,可以是表达式一个分支可以有多个判断条件对于 条件表达式的类型没有要求不用break也会跳出var str = "Hello World";var code = 'o';when (code) { str[4] -> ...原创 2019-04-12 16:58:54 · 387 阅读 · 0 评论 -
Kotlin高阶面向对象
高级部分抽象类主要作为多个类的模板,而接口则定义了多个类应该遵守的规范拓展Kotlin的拓展是一个很独特的功能(Java中是不存在的)基类拓展的方法,子类对象也是可以使用的。 拓展方法的this和成员方法的this一样是该对象的引用。import java.util.*;fun String.say() { println("Hello MCM!");}fun main(a...原创 2019-04-20 17:28:53 · 239 阅读 · 0 评论 -
Kotlin 高阶函数与尾随闭包
单表达式函数某种情况函数只返回单个表达式,此时可省略花括号并在等号后指定函数体fun area(x: Double, y: Double): Double = x * y;fun area(x: Double, y: Double) = x * y; //编译器可自动判断返回值类型参数个数可变的形参列表Kotlin允许个数可变的形参可以处于形参列表的任意位置,但一个函数最多只能有一个个...原创 2019-04-13 20:16:06 · 1059 阅读 · 0 评论 -
setter与getter的幕后字段Field
幕后字段Kotlin生成幕后字段的条件:重写getter、setter方法,否则回味该属性生成幕后字段field重写getter、setter方法时使用field关键字显示引用幕后字段field在Kotlin中定义一个普通属性,要么在定义时指定初始值要么在构造器中指定初始值。Kotlin为每个普通属性都生成了幕后字段用于存值。通过点方法进行属性赋值只不过调用该属性的setter方法...原创 2019-04-14 21:59:31 · 486 阅读 · 0 评论 -
类委托与属性委托
类委托类委托就是 现在有一个类需要实现某接口,发现有一个对于这个接口已经实现好的类,可以直接将这个现成的类拿来使用,也就是说本类继承某接口的任务委托了一个现成已经实现好的类的实例。interface BASE{ fun say();}interface BASE2{ fun say2();}class SUB: BASE, BASE2{ override fu...原创 2019-04-20 14:11:29 · 1023 阅读 · 0 评论