The Clean Switch
switch operatori bitta qiymatni bir qator holatlar (case) ro'yxati bilan solishtiradi. Bu if/else zanjiriga o'xshaydi, lekin bir xil o'zgaruvchini bir necha marta solishtirayotganingizda tozaroq.
Mana asosiy tuzilma:
switch season {
case "spring":
fmt.Println("Flowers blooming")
case "winter":
fmt.Println("Time for snow")
default:
fmt.Println("Some other season")
}Go season ni har bir case bilan tepadan pastga solishtiradi. Mos kelganini topganda, o'sha blokni ishga tushiradi va to'xtaydi. C yoki Java'dan farqli o'laroq, o'tib ketish (fall-through) yo'q va break kerak emas.
Bitta case'da bir nechta qiymatni vergul bilan ajratib solishtirishingiz mumkin:
switch fruit {
case "apple", "pear", "cherry":
fmt.Println("tree fruit")
case "strawberry", "blueberry":
fmt.Println("berry")
}default holati hech narsa mos kelmaganda ishga tushadi. Uni if zanjirining oxiridagi else kabi tasavvur qiling.
Funksiyalarni allaqachon bilganingiz uchun, switch return bilan birga ajoyib ishlaydi, turli qiymatlarni qaytarish uchun:
func trafficLight(color string) string {
switch color {
case "red":
return "Stop"
case "green":
return "Go"
default:
return "Unknown color"
}
}>_ Exercise
day qiymatini tekshirish va to'g'ri tasnifni qaytarish uchun switch operatoridan foydalaning:
- •
"Monday"dan"Friday"gacha →"weekday" - •
"Saturday"yoki"Sunday"→"weekend" - •Boshqa har qanday narsa →
"unknown"
Stuck? Reveal a hint to help you.
Key Takeaway
Key Takeaway:
switch uzun if/else zanjirlarini almashtiradi. Standart holatda o'tib ketish yo'q, va case'larni vergul bilan guruhlashingiz mumkin.
NEXT UP
Repeating Things
$ go run main.go
Kodingizni ishga tushiring