Kotlin 课程大纲

基础入门

  • Kotlin 简介和特性
  • 开发环境搭建 (IntelliJ IDEA, Android Studio)
  • 第一个 Kotlin 程序
  • 基本语法和数据类型
  • 变量和常量 (var, val)

控制流

  • 条件语句 (if, when)
  • 循环 (for, while, do-while)
  • 跳转表达式 (break, continue, return)

函数和 Lambda 表达式

  • 函数定义和调用
  • 默认参数和命名参数
  • 单表达式函数
  • Lambda 表达式
  • 高阶函数

类和对象

  • 类定义和实例化
  • 构造函数和初始化块
  • 属性和字段
  • 继承和接口
  • 数据类和密封类
  • 对象声明和表达式

Null 安全

  • 可空类型和非空类型
  • 安全调用操作符 (?.)
  • Elvis 操作符 (?:)
  • 非空断言 (!!)
  • 平台类型

集合

  • List, Set, Map
  • 可变集合和不可变集合
  • 集合操作 (filter, map, reduce 等)
  • 序列 (Sequence)

函数式编程

  • 不可变性
  • 纯函数
  • 函数组合
  • 柯里化

协程

  • 协程基础
  • 挂起函数
  • 协程上下文和调度器
  • 通道和流
  • 异步编程模式

泛型

  • 泛型函数和类
  • 型变(协变和逆变)
  • 类型投影
  • 泛型约束

委托

  • 属性委托
  • 类委托
  • 标准委托 (lazy, observable 等)

反射

  • 类引用
  • 可调用引用
  • 属性引用
  • 反射 API

DSL 构建

  • 带接收者的函数字面值
  • 中缀函数
  • 操作符重载
  • 构建 DSL

互操作性

  • Kotlin 与 Java 互操作
  • Java 代码调用 Kotlin
  • Kotlin 代码调用 Java
  • 注解处理

Android 开发

  • Kotlin for Android 基础
  • Android Jetpack 与 Kotlin
  • 协程在 Android 中的应用
  • 数据绑定和视图绑定

服务器端开发

  • Ktor 框架入门
  • Spring Boot 与 Kotlin
  • 持久化与 Exposed

测试

  • JUnit 5 与 Kotlin
  • 模拟测试 (Mockk)
  • 协程测试

多平台开发

  • Kotlin Multiplatform 项目设置
  • 共享代码编写
  • 平台特定代码

工具和生态系统

  • Gradle 与 Kotlin DSL
  • Kotlin 标准库深入
  • 第三方库集成

设计模式

  • Kotlin 中的设计模式实现
  • 函数式设计模式

性能优化

  • 内联函数
  • 尾递归优化
  • 协程性能考虑

项目实战

  • Android 应用开发
  • 后端服务开发
  • 跨平台库开发

Kotlin 生态系统

  • JetBrains 工具支持
  • Kotlin 社区和资源
  • 持续学习和职业发展