渐进式编程课
Kotlin 目录
第 13 课2026.09.16

把密封状态映射为界面文字。

第 13 课:when穷尽渲染状态

  • 日期:2026-09-16
  • 课程序号:第 13 课
  • 知识点:when穷尽渲染状态

用途

把密封状态映射为界面文字。

核心概念

when 覆盖 sealed 层级所有直接子类型时无需 else。

最小代码或操作示例

text
fun label(state: LessonState): String = when (state) {
  LessonState.Loading -> "加载中"
  is LessonState.Ready -> state.lesson.title
}

3~5 分钟练习

传入 LessonState.Loading 并检查返回文字。

参考答案

label(LessonState.Loading) 返回“加载中”。

与上一课的联系

继承上一课的 sealed class;本课只增加穷尽映射;下一课可让不同状态携带各自需要的数据。

时效校验

时效校验:2026-09-21(当前 Kotlin 2.4.20;sealed 层次与穷尽 when 自 Kotlin 1.0 可用,未见废弃标记)。

官方参考