select operatori goroutine'ga bir nechta aloqa operatsiyalarini kutish imkonini beradi.
select o'z caselaridan biri bajarilishi mumkin bo'lguncha bloklanadi, so'ng o'sha case ni bajaradi. Agar bir nechtasi tayyor bo'lsa, tasodifiy birini tanlaydi.
Yechimni kodning pastki qismidagi
Topshiriqlarbo'limiga yozing, so'ng Submit tugmasini bosing. Mavzu mustahkam o'zlashishi uchun ikkala topshiriqni ham bajaring.
Tanla(a, b chan int) int funksiyasini yozing: select bilan a yoki b dan qaysi biri tayyor bo'lsa, o'shandan bitta qiymat qabul qilib qaytarsin (tayyor bittasi bo'ladi).
VaqtBilan(c chan int, ms int) (int, bool) funksiyasini yozing: select va time.After(...) yordamida c dan ms millisekund ichida qiymat kelsa (qiymat, true), kelmasa (0, false) qaytarsin ("time" paketini import qiling).