Kotlin从入门到精通
第1章 内置类型
在这一章,我们将为大家介绍 Kotlin 标准库中原生支持的类型,这包括大家熟悉的数值类型、字符串、集合框架以及新晋『一等公民』函数类型等,其中函数类型的知识尤其重要。
1 基本类型
2 数组
3 区间
4 集合框架
5 函数
6 案例:四则计算器
7 本章小结
第2章 类型初步
在这一章,我们将为大家讲解如何自定义类型,如何为任意类型定义扩展成员,以及类型空安全和智能类型转换等知识,学完这一章,大家就可以按照 Java 的方式来编写 Kotlin 程序了。
1 类和接口
2 扩展方法
3 空类型安全
4 智能类型转换
5 案例:使用 Retrofit 发送网络请求
6 本章小结
7 关于空类型安全
第3章 表达式
在这一章,我们将为大家讲解 Kotlin 当中比较有特色的表达式。与 Java 不同的是,Kotlin 当中 if 语句、try catch 以及类似 switch 的 when 语句都是表达式,它们与 Lambda 表达式一同在构建 Kotlin 风格的程序设计中起到了至关重要的作用。...
1 常量和变量
2 分支表达式
3 运算符与中缀表达式
4 Lambda 表达式
5 案例:为 Person 实现 equals 和 hashCode
6 案例:为 String 实现四则运算
7 本章小结
第4章 函数进阶
在这一章,我们将为大家剖析函数类型的本质,也将带着大家充分实践高阶函数,深度体验函数为 Kotlin 注入的活力。
1 高阶函数
2 内联函数
3 几个有用的高阶函数
4 集合变换与序列
5 SAM 转换
6 案例:统计字符个数
7 案例:HTML DSL
8 实践:体验 Gradle Kotlin DSL
9 本章小结
10 函数也是一种类型,这该怎么理解?
第5章 类型进阶
在这一章,我们再回过来对 Kotlin 的类型做进一步细致的探索,介绍类成员的可见性,探讨类成员初始化的最佳实践,讲解重量级特性对象代理,并在本章的后半部分逐一介绍 Kotlin 支持的高级类型。
1 类的构造器
2 类与成员的可见性
3 类属性的延迟初始化
4 代理 Delegate
5 案例:使用属性代理读写 Properties
6 单例 object
7 内部类
8 数据类 data class
9 枚举类 enum class
10 密封类 sealed class
11 内联类 inline class
12 案例:数据类的 Json 序列化
13 案例:递归整型列表的简单实现
14 本章小结
15 Kotlin中的可见性
第6章 Kotlin泛型
在这一章,我们将为大家介绍泛型。面向对象让我们对事物的抽象插上了翅膀,而泛型则让我们能够进一步提升自己对类型的认识,实现在类型层面的抽象。
1 泛型的基本概念
2 泛型约束
3 泛型的型变
4 UnsafeVariance
5 星投影 Start Projection
6 泛型的实现类型与内联特化
7 案例:模拟 Self Type
8 案例:基于泛型实现 Model 实例的注入
9 本章小结
10 泛型的型变的概念有什么实际意义?
第7章 Kotlin反射
在这一章,我们将为大家用丰富的案例介绍反射这一让人又爱又恨的高级特性,反射不仅能够让我们在运行时读取类型相关的元信息,实现更强大的功能,还能对于固定模式的逻辑进行抽象,减少模板代码。
1 反射的基本概念
2 实践:获取泛型实参
3 案例:为数据类实现 DeepCopy
4 案例:Model 映射
5 案例:可释放对象引用的不可空类型
6 案例:插件化加载类
7 本章小结
第8章 Kotlin注解
在这一章,我们将同样以案例为主,来为大家展示注解在编译期、运行时的各种使用场景,注解与反射结合使用还能有更好的效果。
1 注解的基本概念
2 常见内置注解的使用
3 案例:仿 Retrofit 反射读取注解请求网络
4 案例:注解加持反射版 Model 映射
5 案例:注解处理器版 Model 映射
6 拓展:Kotlin 编译器插件介绍
7 本章小结
第9章 协程初步
在这一章,我们将横向对比几个主流的语言的协程实现来深入协程的概念,进而介绍 Kotlin 协程的基本要素,并通过运用这些基本要素来实现主流语言的协程 API (包括 Generator、Async/Await等等)来加深对协程的理解和认识。
1 Kotlin 协程学习指引
2 协程的基本概念
3 协程的常见实现1
4 协程的常见实现2
5 Kotlin 协程的基本要素1
6 Kotlin 协程的基本要素2
7 案例:Generator 与标准库的序列生成器
8 案例:仿 Lua 协程实现非对称协程 API
9 案例:基于非对称协程 API 实现对称协程
10 案例:仿 Go 的 Channel 实现协程通信
11 案例:仿 Js 实现 async await
12 延伸:揭秘 suspend fun main
13 本章小结
第10章 协程进阶
在这一章,我们将基于 Kotlin 协程的基本要素带领大家从无到有地构建一套高仿官方协程框架的轻量级的框架 CoroutineLite,让大家进一步理解 Kotlin 协程的基本要素的运用,并为官方协程框架的学习和使用奠定扎实的基础。
1 案例:仿官方框架实现 launch 1
2 案例:仿官方框架实现 launch 2
3 案例:仿官方框架实现 delay
4 案例:仿官方框架实现调度器
5 案例:仿官方框架实现 runBlocking
6 案例:仿官方框架实现 async
7 案例:仿官方框架实现取消响应1
8 案例:仿官方框架实现取消响应2
9 案例:仿官方框架实现异常处理
10 案例:仿官方框架实现作用域1
11 案例:仿官方框架实现作用域2
12 本章小结
第11章 协程应用
在这一章,我们将主要专注于将协程运用于实践。实践过程中主要基于官方的协程框架,除重点介绍 Channel、Select、Flow 等特性的运用以外,我们还将通过案例为大家展示协程在 Android、Spring、Ktor 当中的实践运用。
1 协程框架概述
2 实践:回调转协程的完整写法
3 Channel
4 Select
5 案例:统计代码行数
6 Flow
7 案例:协程在 Android 中的应用
8 本章小结
9 Kotlin 的协程到底是什么?它能解决什么问题?