Kotlin的常用写法
1. 方法参数的默认值
可以给方法的参数指定默认值
fun someFunction(a: Int = 0, b: String = "") { /* 方法实现 */ }
2. 过滤列表
找出列表中满足某个条件的所有元素。使用filter
方法。其中x是自己定义的参数名。
val list = Arrays.asList(1, 2, 3, 4, 5, 6, 7)
val bigger = list.filter { x -> x > 5 }
println(bigger) // [6, 7]
或者在filter
中用it
val list = Arrays.asList(1, 2, 3, 4, 5, 6, 7)
val bigger = list.filter { it > 2 }
println(bigger) // [3, 4, 5, 6, 7]
3. 检查某个元素是否在集合里
使用in
val nameList = Arrays.asList("Tom", "Rust Fisher", "Jerry")
if ("Rust Fisher" in nameList) {
println("Rust Fisher在列表中")
}
if ("David" !in nameList) {
println("David不在列表中")
}
4. String插值
用$
把String变量插入字符串里
val firstName = "Rust"
val lastName = "Fisher"
println("$firstName $lastName")
5. 只可读的列表
只能读,不能写的列表。用listOf
方法。
val readOnlyList = listOf("a", "b")
上面得到的readOnlyList
是没有add相关方法的。
6. 只可读的map
使用mapOf
方法得到只读的map。
val map = mapOf("a" to 1, "b" to 2, "c" to 3)
7. while循环读写流
流读写的时候,我们经常使用while来处理。
Java类似如下写法
int len = 0;
while((len = inputStream.read(tmp)) != -1) { /* 流操作 */ }
kotlin中,使用also
while (((inputStream.read(tmp)).also { len = it }) != -1) { /* 流操作 */ }
最后分享一份《史上最详Android版kotlin协程入门进阶实战》,
目录
第一章 Kotlin协程的基础介绍
- 1.1 协程是什么
- 1.2 什么是Job 、Deferred 、协程作用域
- 1.3 Kotlin协程的基础用法
第二章 kotlin协程的关键知识点初步讲解
- 2.1 协程调度器
- 2.2 协程上下文
- 2.3 协程启动模式
- 2.4 协程作用域
- 2.5 挂起函数
第三章 kotlin协程的异常处理
第四章 kotlin协程在Android中的基础应用
- 4.1 Android使用kotlin协程
- 4.2 在Activity与Framgent中使用协程
- 4.3 ViewModel中使用协程
- 4.4 其他环境下使用协程
第五章 kotlin协程的网络请求封装
- 5.1 协程的常用环境
- 5.2 协程在网络请求下的封装及使用
- 5.3 高阶函数方式
- 5.4 多状态函数返回值方式
- 5.5 直接返回值的方式
第六章 深入kotlin协程原理(一)
- 6.1 suspend 的花花肠子
- 6.2 藏在身后的- Continuation
- 6.3 村里的希望- SuspendLambda
第七章 深入kotlin协程原理(二)
- 7.1 协程的那些小秘密
- 7.2 协程的创建过程
- 7.3 协程的挂起与恢复
- 7.4 协程的执行与状态机
第八章 Kotlin Jetpack 实战
- 8.1 从一个膜拜大神的 Demo 开始
- 8.2 Kotlin 写 Gradle 脚本是一种什么体验?
- 8.3 Kotlin 编程的三重境界
- 8.4 Kotlin 高阶函数
- 8.5 Kotlin 泛型
- 8.6 Kotlin 扩展
- 8.7 Kotlin 委托
第九章 Kotlin + 协程 + Retrofit + MVVM优雅的实现网络 请求
- 9.1 项目配置
- 9.2 实现思路
- 9.3 协程实现
- 9.4 协程 + ViewModel + LiveData实现
- 9.5 后续优化
- 9.6 异常处理
- 9.7 更新Retrofit 2.6.0