Kotlin Flowのシンプルな例


まず、Kotlin Flowを使用するためには、kotlinx.coroutines.flowパッケージをインポートする必要があります。

import kotlinx.coroutines.*
import kotlinx.coroutines.flow.*
fun main() = runBlocking {
    // 1から5までの数字を含むFlowを作成する
    val flow = flow {
        for (i in 1..5) {
            delay(100) // 100ミリ秒待つ
            emit(i) // 数字を発行する
        }
    }
// Flowの値を受け取り、表示するコレクターを作成する
    val collector = launch {
        flow.collect { value ->
            println(value) // 受け取った値を表示する
        }
    }
    delay(500) // 500ミリ秒待つ
    collector.cancel() // コレクターをキャンセルする
}

上記の例では、Flowを作成し、その値をコレクターで受け取って表示しています。Flowは非同期に値を生成し、コレクターはその値を受け取って処理します。flow.collectメソッドはFlowの値を受け取るためのコレクターを作成し、emitメソッドは値を発行します。

この例では、1から5までの数字が順番に表示されます。delay関数は値を発行する間の待ち時間を設定します。

また、上記の例ではrunBlockingを使用してメイン関数を非同期に実行しています。これにより、Flowの生成と受け取りを同期的に行うことができます。

Kotlin Flowは非同期プログラミングで非常に便利なツールであり、さまざまなシナリオで活用することができます。以上がKotlin Flowのシンプルな例です。