【2025最新版Kotlin教程】Kotlin第一行代码系列第二十一课-协程channel

93 阅读1分钟
【2025最新版Kotlin教程】Kotlin第一行代码系列第二十一课-协程channel

选学

特点:发一个,收一个

注意:尽量不要用channel.receive()来收数据

简单示例代码:
fun main() {
    runBlocking {
        // 用produce创建channel,不用自己关闭
        val channel: ReceiveChannel<Int> = produce {
            (1..3).forEach {
                //发送数据
                send(it)
                println("Send: $it")
            }
        }

        launch {
                //接收数据
                for (i in channel) {
                    if(!channel.isClosedForReceive){
                        println("Receive: $i")
                    }
                }


            }
        }

}
整个kotlin教程的源码项目结构图:

在这里插入图片描述
有问题或者完整源码的可以看简介联系我,也可以私信我,我每天都看私信的