渐进式编程课
Kotlin 目录
第 15 课2026.09.18

在穷尽 when 中读取 Ready 状态携带的数量。

第 15 课:读取sealed分支数据

  • 日期:2026-09-18
  • 课程序号:第 15 课
  • 知识点:读取sealed分支数据

用途或适用场景

在穷尽 when 中读取 Ready 状态携带的数量。

核心概念

智能类型转换让 Ready 分支直接访问 count;else 不需要出现。

最小代码或操作示例

text
sealed interface State { data object Loading : State; data class Ready(val count: Int) : State }
fun label(state: State) = when (state) {
  State.Loading -> "加载中"
  is State.Ready -> "共 ${state.count} 节"
}

3~5 分钟练习

传入 State.Ready(3) 并调用 label。

参考答案

label(State.Ready(3)) 返回“共 3 节”。

与上一课的联系

继承上一课携带数据的 sealed 状态;本课只在 Ready 分支读取 count;完成后下一课可加入错误状态。

时效校验

时效校验:2026-09-21(当前 Kotlin 2.4.20;data object 自 Kotlin 1.9 起稳定,未见本课方案的废弃标记)。

官方参考