[kotlin] 코틀린(Kotlin) Flow 개념과 사용법
코틀린 Flow는 비동기 데이터 스트림을 처리하기 위한 코틀린 표준 라이브러리의 일부이다. Flow를 사용하면 비동기적인 데이터 스트림을 효율적으로 처리할 수 있으며, 취소 가능한 연산을 지원하여 메모리 누수를 방지할 수 있다.
코틀린 Flow 사용법
코틀린 Flow를 사용하려면 먼저 kotlinx.coroutines.flow
패키지를 임포트해야 한다.
import kotlinx.coroutines.flow.*
Flow를 생성하려면 flow
빌더를 사용한다.
val flow = flow {
for (i in 1..3) {
delay(100)
emit(i)
}
}
Flow를 수집하려면 collect
함수를 사용한다.
flow.collect { value ->
println(value)
}
Flow를 변환하려면 다양한 연산자를 사용할 수 있다. 예를 들어, map
함수를 사용하여 값을 변환할 수 있다.
flow.map { value -> value * 2 }
.collect { value ->
println(value)
}
Flow를 결합하려면 zip
함수를 사용할 수 있다.
val flow1 = flowOf("A", "B", "C")
val flow2 = flowOf(1, 2, 3)
flow1.zip(flow2) { value1, value2 ->
"$value1$value2"
}.collect { value ->
println(value)
}
코틀린 Flow를 사용하여 비동기 데이터 스트림을 처리할 수 있다.
결론
코틀린 Flow는 비동기 데이터 스트림을 효과적으로 처리하기 위한 강력한 도구이며, 코루틴과 함께 사용하여 효율적인 비동기 프로그래밍을 가능하게 한다.
참고: 코틀린 Flow 공식 문서