select ช่วยให้ goroutine รอการดำเนินการบน channel หลายตัว ได้พร้อมกัน โดยจะดำเนินการต่อกับตัวใดก็ตามที่พร้อมก่อน มันเหมือน switch แต่สำหรับ channel — จำเป็นสำหรับการประสานงานการดำเนินการที่ทำพร้อมกัน การ timeout และการยกเลิก (cancellation)
select พื้นฐาน — รอบน channel หลายตัว
{
msg1 := <-ch1:
fmt.Println(, msg1)
msg2 := <-ch2:
fmt.Println(, msg2)
ch3 <- :
fmt.Println()
}
