select cho phép một goroutine chờ trên nhiều thao tác channel đồng thời, tiếp tục với bất cứ thao tác nào sẵn sàng trước. Nó giống một switch nhưng dành cho channel — thiết yếu để điều phối các thao tác concurrent, timeout, và hủy (cancellation).
select cơ bản — chờ trên nhiều channel
{
msg1 := <-ch1:
fmt.Println(, msg1)
msg2 := <-ch2:
fmt.Println(, msg2)
ch3 <- :
fmt.Println()
}
