在使用select语句时,需要注意以下几点:
以下是一个在for循环中使用select语句的示例:
func main() {
ch1 := make(chan int)
ch2 := make(chan int)
go func() {
for i := 1; i <= 5; i++ {
ch1 <- i
time.Sleep(time.Second)
}
}()
go func() {
for i := 6; i <= 10; i++ {
ch2 <- i
time.Sleep(time.Second)
}
}()
for {
select {
case msg1 := <-ch1:
fmt.Println("Received from ch1:", msg1)
case msg2 := <-ch2:
fmt.Println("Received from ch2:", msg2)
}
}
}
在上面的示例中,我们启动了两个goroutine分别向两个通道中发送数据。然后我们将select语句放在一个无限循环中,以持续监听这两个通道的状态。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。