CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
Kotlin 语言入门/课时/综合练习
RawBlame
课时目录12 节

Kotlin 语言入门

  1. 01Kotlin 是什么
  2. 02基础语法与类型
  3. 03控制流
  4. 04函数与 Lambda
  5. 05集合 API
  6. 06类与 OOP
  7. 07空安全
  8. 08协程
  9. 09JVM 与 Spring
  10. 10Android 与 Compose
  11. 11Ktor 服务端
  12. 12综合练习

综合练习

Spring Boot + 协程 REST API。

40 分钟

综合练习

把语法、空安全、集合、协程与 Spring Boot 串起来,完成一个带协程的 REST API 小项目,并规划下一步学习。

学习目标

  • 完成 Spring Boot + Kotlin + 协程 REST API
  • 能描述「请求 → Controller → Service → 返回 JSON」的链路
  • 知道 Android 与后端 Kotlin 的进阶路线

项目:课时 API(Spring Boot + 协程)

需求:

  1. data class Lesson(slug, title, order) 与 Track(slug, title, lessons)
  2. TrackService 用内存 Map 存储,提供 findBySlug、listLessons
  3. TrackController 暴露 GET /api/tracks/{slug}/lessons,内部用协程模拟 IO 延迟
  4. 返回 List<Lesson> JSON
@RestController
@RequestMapping("/api/tracks")
class TrackController(private val service: TrackService) {

    @GetMapping("/{slug}/lessons")
    suspend fun listLessons(@PathVariable slug: String): List<Lesson> {
        return service.listLessons(slug)
    }
}

@Service
class TrackService {
    private val store = mapOf(
        "kotlin-essentials" to Track(
            "kotlin-essentials", "Kotlin 语言入门",
            listOf(
                Lesson("kt-intro", "Kotlin 是什么", 1),
                Lesson("kt-syntax", "基础语法", 2)
            )
        )
    )

    suspend fun listLessons(slug: String): List<Lesson> {
        kotlinx.coroutines.delay(50)   // 模拟 IO
        return store[slug]?.lessons ?: emptyList()
    }
}

data class Track(val slug: String, val title: String, val lessons: List<Lesson>)
data class Lesson(val slug: String, val title: String, val order: Int)

启动后访问 GET http://localhost:8080/api/tracks/kotlin-essentials/lessons 验证。

项目:Console 版(选做)

不用 Spring,用纯 Kotlin + 协程:

  1. TrackCatalog 管理 List<Lesson>
  2. main 用 runBlocking 并发「加载」多个 track 的 lessons
  3. 打印排序后的课时列表

本 track 与相关课的分工

主题kotlin-essentials其他
语法、空安全、集合✅ 本 trackjava-fundamentals 对照
协程、Flow✅ 本 track深入见 kotlinx 文档
Spring Boot 工程入门
spring-boot-essentials
Android Compose直觉专项 Android track
Ktor 服务端入门可自建小项目

进阶路线

方向建议
Spring Boot 后端/tracks/spring-boot-essentials · /roadmaps/spring-boot
Android 开发/roadmaps/kotlin Android 节点
协程深入kotlinx.coroutines 官方文档、Flow 操作符
跨平台 KMPKotlin Multiplatform 官方教程

毕业清单

  • 完成 Spring Boot 课时 API,或 Console 协程版
  • 通读本 track 12 课,能独立写 data class、处理空安全、用集合 API
  • 在 /roadmaps/kotlin 相关节点完成至少一课
  • 登录学员端,标记本课完成

小结

语言基础在本 track;工程化进 Spring Boot;Android 与 Ktor 按路线图选学。 恭喜完成 Kotlin 语言入门——接下来可选 Spring Boot、Android 或协程深入,按 /roadmaps/kotlin 一步步推进即可。

加载本节练习…
← 上一课Ktor 服务端