Golang 实战

从入门到实战 Golang 编程语言

人数:117人 时长:13.6 小时 状态: 更新中...

当前视频需要购买后才能观看

¥ 399.00

带缓冲的 Channel(buffered channel):

c := make(chan int, 2)
c <- 10
c <- 20
  • 带缓冲的通道,可以用 make 设置缓冲大小
  • 在缓冲被全部使用之前,给一个带缓冲的通道发送数据是不会阻塞的,而从通道读取数据也不会阻塞,直到缓冲空了为止

select 语句获取不同通道的数据:

select {
case u:= <- ch1:
        ...
case v:= <- ch2:
        ...
default: // no value ready to be received
        ...
}
  • 从不同的并发执行的协程中获取值可以通过关键字select来完成
  • default case 可以确保发送不被阻塞
  • 如果都阻塞了,会等待直到其中一个可以处理;如果多个可以处理,随机选择一个
课程:Golang 实战
作者:阳明
人数:117人
时长:13.6 小时
状态: 更新中...