Flow 基础:07. Flow 构建器 (Flow Builders)

本篇解析 example-flow-07.kt。除了 flow { ... },Kotlin 还提供了多种便捷的构建器来创建流。

1. 常见构建器

  • **asFlow()**:扩展函数,可将 RangeIterable(如 List、Set)或 Sequence 转换为 Flow。
  • **flowOf(…)**:定义一个发射固定值集的流。

2. 代码解析

1
2
3
4
fun main() = runBlocking {
// 将整数范围转换为流并收集
(1..3).asFlow().collect { value -> println(value) }
}

3. 开发者感悟

在实际开发中,如果你已经有一组现成的数据(例如从数据库加载的 List),或者只是想简单地测试某个流操作符,asFlow()flowOf() 是最快捷的选择。它们省去了手动编写 emit 的麻烦。

,