2026a
# take!
移除并返回指定Channel通道中的第一个可用值
# 语法
take!(c::Channel)
# 说明
移除并返回指定Channel通道中的第一个可用值。
此函数直到可返回值前都将阻塞。
对于无缓冲的通道,在另一个不同的任务调用put!之前,此函数将阻塞。
# 示例
从Channel通道取出数据
chnl2 = Channel{Float64}(10)
put!(chnl2, 2)
take!(chnl2)
2.0
close关闭Channel后,take!可以取通道剩余元素,若通道已空,take!会报错。
close(chnl2)
take!(chnl2)
ERROR: InvalidStateException("Channel is closed.", :closed)
...