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语言基础入门:Kotlin的常用写法_android

Kotlin语言基础入门:Kotlin的常用写法_android_02

第一章 Kotlin协程的基础介绍

  • 1.1 协程是什么
  • 1.2 什么是Job 、Deferred 、协程作用域
  • 1.3 Kotlin协程的基础用法

Kotlin语言基础入门:Kotlin的常用写法_android_03

第二章 kotlin协程的关键知识点初步讲解

  • 2.1 协程调度器
  • 2.2 协程上下文
  • 2.3 协程启动模式
  • 2.4 协程作用域
  • 2.5 挂起函数

Kotlin语言基础入门:Kotlin的常用写法_开发语言_04

第三章 kotlin协程的异常处理

Kotlin语言基础入门:Kotlin的常用写法_java_05

第四章 kotlin协程在Android中的基础应用

  • 4.1 Android使用kotlin协程
  • 4.2 在Activity与Framgent中使用协程
  • 4.3 ViewModel中使用协程
  • 4.4 其他环境下使用协程

Kotlin语言基础入门:Kotlin的常用写法_学习_06

第五章 kotlin协程的网络请求封装

  • 5.1 协程的常用环境
  • 5.2 协程在网络请求下的封装及使用
  • 5.3 高阶函数方式
  • 5.4 多状态函数返回值方式
  • 5.5 直接返回值的方式

第六章 深入kotlin协程原理(一)

  • 6.1 suspend 的花花肠子
  • 6.2 藏在身后的- Continuation
  • 6.3 村里的希望- SuspendLambda

Kotlin语言基础入门:Kotlin的常用写法_kotlin_07

第七章 深入kotlin协程原理(二)

  • 7.1 协程的那些小秘密
  • 7.2 协程的创建过程
  • 7.3 协程的挂起与恢复
  • 7.4 协程的执行与状态机

Kotlin语言基础入门:Kotlin的常用写法_android_08

第八章 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语言基础入门:Kotlin的常用写法_开发语言_09

第九章 Kotlin + 协程 + Retrofit + MVVM优雅的实现网络 请求

  • 9.1 项目配置
  • 9.2 实现思路
  • 9.3 协程实现
  • 9.4 协程 + ViewModel + LiveData实现
  • 9.5 后续优化
  • 9.6 异常处理
  • 9.7 更新Retrofit 2.6.0

Kotlin语言基础入门:Kotlin的常用写法_开发语言_10