关于本书
文档
入门
Kotlin 之旅
概述
Kotlin 多平台
Kotlin 用于服务器端开发
Kotlin 用于 Android 开发
Kotlin Wasm
Kotlin 原生
Kotlin 用于 JavaScript 开发
Kotlin 用于数据分析
Kotlin 用于竞技程序设计
Kotlin 的新特性
Kotlin 1.9.20
Kotlin 1.9.0
Kotlin 2.0.0-RC3
早期版本
Kotlin 1.8.20
Kotlin 1.8.0
Kotlin 1.7.20
Kotlin 1.7.0
Kotlin 1.6.20
Kotlin 1.6.0
Kotlin 1.5.30
Kotlin 1.5.20
Kotlin 1.5.0
Kotlin 1.4.30
Kotlin 1.4.20
Kotlin 1.4.0
Kotlin 1.3
Kotlin 1.2
Kotlin 1.1
版本发布与路线图
Kotlin 版本发布
Kotlin 路线图
基础
基本语法
习惯用法
例学 Kotlin↗︎
编码规范
概念
类型
基本类型
概述
数字
布尔
字符
字符串
数组
无符号整型
类型检测与类型转换
控制流程
条件与循环
返回与跳转
异常
包与导入
类与对象
类
继承
属性
接口
函数式(SAM)接口
可见性修饰符
扩展
数据类
密封类与密封接口
泛型:in、out、where
嵌套类
枚举类
内联类
对象表达式与对象声明
委托
属性委托
类型别名
函数
函数
lambda 表达式
内联函数
操作符重载
类型安全的构建器
空安全
相等性
this 表达式
异步程序设计技术
协程
注解
解构声明
反射
多平台开发
Kotlin 多平台入门
了解多平台项目结构
多平台项目结构的高级概念
手动设置目标
共享代码
平台间共享代码
预期声明与实际声明
分层项目结构
添加依赖项
添加依赖项
添加 Android 依赖项
添加 iOS 依赖项
编译构件
配置编译项
构建最终原生二进制文件
发布多平台库
参考
多平台 Gradle DSL 参考
Android 源代码集布局
Kotlin 多平台兼容性指南
Kotlin 多平台移动端插件版本发布
数据分析
Kotlin Notebook 入门
1、环境搭建
2、创建第一个 Kotlin Notebook
3、将依赖添加到 Kotlin Notebook
4、分享 Kotlin Notebook
Kotlin Notebook 的输出格式
使用数据源
从文件中取数据
从 web 源与 API 取数据
链接数据库并从中取数据
Kotlin Notebook 中数据可视化
用于数据分析的库
平台
JVM
Kotlin/JVM 入门
与 Java 比较
在 Kotlin 中调用 Java
在 Java 中调用 Kotlin
Spring
使用 Spring Boot 创建用到数据库的 RESTful web 服务
Spring Boot 与 Kotlin 入门
创建使用 Kotlin 的 Spring Boot 项目
向 Spring Boot 项目添加数据类
为 Spring Boot 项目添加数据库支持
使用 Spring Data CrudRepository 进行数据库访问
Spring 框架 Kotlin 文档↗︎
使用 Spring Boot 与 Kotlin 构建 web 应用程序——教程↗︎
使用 Kotlin 协程与 RSocket 创建聊天应用程序——教程↗︎
在 JVM 平台中用 JUnit 测试代码——教程
在项目中混用 Java 与 Kotlin——教程
在 Kotlin 中使用 Java 记录类型
从 Java 到 Kotlin 迁移指南
字符串
集合
可空性
库创建人指南
简介
可读性
可预测性
可调试性
反向兼容性
原生
Kotlin/Native 入门——在 IntelliJ IDEA 中
Kotlin/Native 入门——使用 Gradle
Kotlin/Native 入门——使用命令行编译器
与 C 语言互操作
与 C 语言互操作性
映射来自 C 语言的原始数据类型——教程
映射来自 C 语言的结构与联合类型——教程
映射来自 C 语言的函数指针——教程
映射来自 C 语言的字符串——教程
创建使用 C 语言互操作与 libcurl 的应用——教程
与 Objective-C 互操作性
与 Swift/Objective-C 互操作性
Kotlin/Native 开发 Apple framework——教程
CocoaPods 集成
CocoaPods 概述
添加对 Pod 库的依赖
使用 Kotlin Gradle 项目作为 CocoaPods 依赖项
CocoaPods Gradle 插件 DSL 参考
Swift 包导出设置
Kotlin/Native 库
平台库
Kotlin/Native 开发动态库——教程
内存管理器
Kotlin/Native 内存管理
iOS 集成
迁移到新版内存管理器
调试 Kotlin/Native
符号化 iOS 崩溃报告
参考与提示
目标平台支持
iOS 应用的隐私清单
改进编译时间
许可证文件
Kotlin/Native FAQ
WebAssembly(Wasm)
在 IntelliJ IDEA 中入门 Kotlin/Wasm
调试 Kotlin/Wasm 代码
与 JavaScript 的互操作
故障排查
JavaScript
搭建 Kotlin/JS 项目
运行 Kotlin/JS
开发服务器与持续编译
调试 Kotlin/JS 代码
在 Kotlin/JS 平台中运行测试
Kotlin/JS 无用代码消除
Kotlin/JS IR 编译器
将 Kotlin/JS 项目迁移到 IR 编译器
Kotlin 用于 JS 平台
浏览器与 DOM API
在 Kotlin 中使用 JavaScript 代码
动态类型
使用来自 npm 的依赖
在 JavaScript 中使用 Kotlin 代码
JavaScript 模块
Kotlin/JS 反射
类型安全的 HTML DSL
脚本
Kotlin 自定义脚本入门——教程
标准库
集合
集合概述
构造集合
迭代器
区间与数列
序列
集合操作概述
集合转换操作
过滤集合
加减操作符
分组
取集合的一部分
取单个元素
排序
聚合操作
集合写操作
List 相关操作
Set 相关操作
Map 相关操作
选择加入要求
作用域函数
时间度量
官方库
协程(kotlinx.coroutines)
协程指南
协程基础
Kotlin 协程与通道介绍↗︎
取消与超时
组合挂起函数
协程上下文与调度器
异步流
通道
协程异常处理
共享的可变状态与并发
select 表达式(实验性的)
使用 IntelliJ IDEA 调试协程——教程
使用 IntelliJ IDEA 调试 Kotlin Flow——教程
序列化(kotlinx.serialization)
Lincheck(kotlinx.lincheck)
Lincheck 指南
用 Lincheck 编写第一个测试
测试策略
操作参数
数据结构约束
进度保证
时序规范
Ktor↗︎
API 参考
标准库(stdlib)↗︎
测试库(kotlin.test)↗︎
协程(kotlinx.coroutines)↗︎
序列化(kotlinx.serialization)↗︎
日期与时间(kotlinx-datetime)↗︎
JVM 元数据(kotlinx-metadata-jvm)↗︎
Ktor↗︎
语言参考
关键字与操作符
语法↗︎
语言规范↗︎
工具
构建工具
Gradle
Gradle 概述
Gradle 入门——教程
配置 Gradle 项目
Kotlin Gradle 插件中的编译器选项
Kotlin Gradle 插件中的编译项与缓存
支持 Gradle 插件变体
Maven
Ant
Dokka
简介
Dokka 入门
运行 Dokka
Gradle
Maven
CLI
输出格式
HTML
Markdown
Javadoc
Dokka 插件
模块文档
用于 Kotlin 开发的 IDE
使用 IntelliJ IDEA 迁移到 Kotlin 代码风格
Kotlin Notebook
运行代码片段
Kotlin 与 TeamCity 的持续集成
编写代码文档:KDoc
Kotlin 与 OSGi
编译器与插件
编译器
K2 编译器迁移指南
Kotlin 命令行编译器
Kotlin 编译器选项
编译器插件
全开放编译器插件
No-arg 编译器插件
带有接收者的 SAM 编译器插件
kapt 编译器插件
Lombok 编译器插件
Kotlin 符号处理(KSP)API
KSP 概述
KSP 快速入门
为什么选用 KSP
KSP 示例
KSP 如何为 Kotlin 代码建模
Java 注解处理对应到 KSP 参考
增量处理
多轮次处理
KSP 与 Kotlin 多平台
在命令行运行 KSP
常见问题
学习资料
学习资料概述
例学 Kotlin↗︎
Kotlin 心印
Kotlin 核心课程↗︎
Kotlin 动手实践
Kotlin 小窍门
图书
Advent of Code 谜题
在 IDE 中学习(JetBrains 学院)
学习 Kotlin
讲授 Kotlin
早期访问计划(EAP)
参与 Kotlin 早期访问计划
安装 Kotlin EAP 插件
配置构建采用 EAP
其他资源
FAQ
Kotlin 演进
演进原则
Kotlin 各组件的稳定性
Kotlin 各组件的稳定性(1.4 之前)
兼容性
Kotlin 1.9 的兼容性指南
Kotlin 1.8 的兼容性指南
Kotlin 1.7.20 的兼容性指南
Kotlin 1.7 的兼容性指南
Kotlin 1.6 的兼容性指南
Kotlin 1.5 的兼容性指南
Kotlin 1.4 的兼容性指南
Kotlin 1.3 的兼容性指南
兼容模式
Kotlin 基金会
Kotlin 基金会↗︎
语言委员会准则↗︎
提交不兼容变更指南↗︎
Kotlin 品牌用途准则↗︎
Kotlin 基金会 FAQ↗︎
Google Summer of Code
Google Summer of Code with Kotlin 2024↗︎
Google Summer of Code with Kotlin 2023↗︎
安全
社区
贡献力量
KUG 准则
Kotlin 之夜准则
Kotlin 品牌素材
宣传资料↗︎
本书使用 HonKit 发布
Google Summer of Code
Google Summer of Code
Google Summer of Code with Kotlin 2024↗︎
Google Summer of Code with Kotlin 2023↗︎