Default tanlov
select dagi default tarmog'i boshqa hech bir case tayyor bo'lmasa bajariladi.
Yuborish yoki qabul qilishni bloklamasdan sinab ko'rish uchun default tarmog'idan foydalaning:
select {
case i := <-c:
// i dan foydalanamiz
default:
// c dan qabul qilish bloklanardi
}
Yechimni kodning pastki qismidagi
Topshiriqlarbo'limiga yozing, so'ng Submit tugmasini bosing. Mavzu mustahkam o'zlashishi uchun ikkala topshiriqni ham bajaring.
Yubor(c chan int, v int) bool funksiyasini yozing: v ni c ga bloklanmasdan yuborishga urinsin (select + default). Yuborilsa true, channel to'la (yoki qabul qiluvchi yo'q) bo'lsa false qaytarsin.
Ol(c chan int) (int, bool) funksiyasini yozing: c dan bloklanmasdan qabul qilishga urinsin. Qiymat bo'lsa (qiymat, true), bo'lmasa (0, false) qaytarsin.