GoDasturchi
Use switch Over if-else Chains

Use switch Over if-else Chains

if-else zanjiri o'rniga switch ishlating

Bitta qiymatni bir nechta variant bilan solishtirayotganda, uzun if/else if/else if zanjiri o'rniga switch ancha toza va o'qish oson.

example.go
package main

import "fmt"

func dayNameOld(n int) string {
	if n == 1 {
		return "Dushanba"
	} else if n == 2 {
		return "Seshanba"
	} else if n == 3 {
		return "Chorshanba"
	} else {
		return "Noma'lum"
	}
}

func dayName(n int) string {
	switch n {
	case 1:
		return "Dushanba"
	case 2:
		return "Seshanba"
	case 3:
		return "Chorshanba"
	default:
		return "Noma'lum"
	}
}

func main() {
	fmt.Println(dayName(2))
	fmt.Println(dayName(9))
}

Go'ning switchi boshqa tillardan farqli — har bir casedan keyin avtomatik break bo'ladi ("fallthrough" kerak bo'lmasa yozish shart emas). Bu uni if/else if zanjiridan xavfsizroq va qisqaroq qiladi, ayniqsa variantlar ko'p bo'lganda.

>_ Exercise

if-else zanjirini switch'ga o'giring.

  • sizeLabel(size string) string yozing: "S"->"Kichik", "M"->"O'rta", "L"->"Katta", aks holda "Noma'lum"
  • switch operatoridan foydalaning (if/else emas)

Stuck? Reveal a hint to help you.

Hints (0/3)

Key Takeaway

Key Takeaway:

Bitta qiymatni ko'p variant bilan solishtirishda switch — uzun if/else if zanjiridan qisqaroq va xavfsizroq (avtomatik break tufayli).

NEXT UP

Advanced Switch Patterns

OUTPUT

$ go run main.go
Kodingizni ishga tushiring

Use switch Over if-else Chains

if-else zanjiri o'rniga switch ishlating

Bitta qiymatni bir nechta variant bilan solishtirayotganda, uzun if/else if/else if zanjiri o'rniga switch ancha toza va o'qish oson.

example.go
package main

import "fmt"

func dayNameOld(n int) string {
	if n == 1 {
		return "Dushanba"
	} else if n == 2 {
		return "Seshanba"
	} else if n == 3 {
		return "Chorshanba"
	} else {
		return "Noma'lum"
	}
}

func dayName(n int) string {
	switch n {
	case 1:
		return "Dushanba"
	case 2:
		return "Seshanba"
	case 3:
		return "Chorshanba"
	default:
		return "Noma'lum"
	}
}

func main() {
	fmt.Println(dayName(2))
	fmt.Println(dayName(9))
}

Go'ning switchi boshqa tillardan farqli — har bir casedan keyin avtomatik break bo'ladi ("fallthrough" kerak bo'lmasa yozish shart emas). Bu uni if/else if zanjiridan xavfsizroq va qisqaroq qiladi, ayniqsa variantlar ko'p bo'lganda.

>_ Exercise

if-else zanjirini switch'ga o'giring.

  • sizeLabel(size string) string yozing: "S"->"Kichik", "M"->"O'rta", "L"->"Katta", aks holda "Noma'lum"
  • switch operatoridan foydalaning (if/else emas)

Stuck? Reveal a hint to help you.

Hints (0/3)

Key Takeaway

Key Takeaway:

Bitta qiymatni ko'p variant bilan solishtirishda switch — uzun if/else if zanjiridan qisqaroq va xavfsizroq (avtomatik break tufayli).

NEXT UP

Advanced Switch Patterns