Switch'da hisoblash tartibi
Switch caselarni yuqoridan pastga qarab hisoblaydi va biri muvaffaqiyatli bo'lganda to'xtaydi.
(Masalan,
switch i {
case 0:
case f():
}
i==0 bo'lsa f ni chaqirmaydi.)
Eslatma: Go playground'da vaqt har doim 2009-yil 10-noyabr 23:00:00 UTC dan boshlanadi. Bu qiymatning ahamiyati o'quvchiga mashq sifatida qoldirilgan.
Yechimni kodning pastki qismidagi
Topshiriqlarbo'limiga yozing, so'ng Submit tugmasini bosing. Mavzu mustahkam o'zlashishi uchun ikkala topshiriqni ham bajaring.
tekshir(i int) int funksiyasini yozing: switch i { case 0: ... case f(): ... } tuzilmasi bilan i == 0 bo'lsa 0, i == f() bo'lsa 1, aks holda 2 qaytarsin. Muhim: i == 0 bo'lganda f umuman chaqirilmasligi kerak (yuqoridagi kodda f va chaqirildi hisoblagichi tayyor).
qachon(bugun, nishon time.Weekday) string funksiyasini yozing: switch nishon { case bugun: ... case bugun + 1: ... case bugun + 2: ... } bilan "Bugun.", "Ertaga.", "Ikki kundan keyin.", aks holda "Hali ancha uzoq." qaytarsin. Masalan, qachon(time.Monday, time.Tuesday) — "Ertaga.".