GoDasturchi
The Clean Switch

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:

example.go
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:

example.go
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:

example.go
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.

Hints (0/3)

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

🔒🔒🔒🔒
OUTPUT

$ go run main.go
Kodingizni ishga tushiring

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:

example.go
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:

example.go
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:

example.go
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.

Hints (0/3)

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