select umožňuje goroutině čekat na více operací s kanály současně a pokračovat s tou, která je připravena první. Je to podobné switch, ale pro kanály — nezbytné pro koordinaci souběžných operací, timeoutů a zrušení.
Základní select — čekání na více kanálů
{
msg1 := <-ch1:
fmt.Println(, msg1)
msg2 := <-ch2:
fmt.Println(, msg2)
ch3 <- :
fmt.Println()
}
