GoDasturchi
Combine Boolean Conditions

Combine Boolean Conditions

Mantiqiy shartlarni birlashtirish

Agar bir nechta if bloki bir xil natija qaytarsa, ularni bitta shartga birlashtirish mumkin — bu takrorlanishni kamaytiradi.

example.go
package main

import "fmt"

// Takrorlanuvchi: uchta if bir xil natija ("chegirma yo'q") qaytaradi
func discountOld(age int, isStudent bool, isSenior bool) int {
	if age < 12 {
		return 0
	}
	if isStudent {
		return 10
	}
	if isSenior {
		return 15
	}
	return 0
}

// Birlashtirilgan: bir xil natijali shartlar || bilan qo'shildi
func discount(age int, isStudent bool, isSenior bool) int {
	if age < 12 || (!isStudent && !isSenior) {
		return 0
	}
	if isSenior {
		return 15
	}
	return 10
}

func main() {
	fmt.Println(discount(25, true, false))
	fmt.Println(discount(70, false, true))
	fmt.Println(discount(30, false, false))
}

|| ("yoki") — istalgan biri to'g'ri bo'lsa yetarli bo'lgan shartlarni birlashtiradi. Bu texnika ayniqsa bir nechta "rad etish" sharti bir xil natijaga olib kelganda foydali: ularni alohida-alohida yozish o'rniga, bittasiga jamlash mumkin.

>_ Exercise

Bir xil natijali shartlarni birlashtiring.

  • isWeekendOrHoliday(day string, isHoliday bool) bool yozing
  • day == "Saturday" YOKI day == "Sunday" YOKI isHoliday bo'lsa true qaytaring (bitta ifoda, || bilan)

Stuck? Reveal a hint to help you.

Hints (0/3)

Key Takeaway

Key Takeaway:

Bir xil natijaga olib keladigan bir nechta shartni ||/&& bilan bitta ifodaga birlashtirish — takrorlanishni kamaytiradi.

NEXT UP

Use switch Over if-else Chains

OUTPUT

$ go run main.go
Kodingizni ishga tushiring

Combine Boolean Conditions

Mantiqiy shartlarni birlashtirish

Agar bir nechta if bloki bir xil natija qaytarsa, ularni bitta shartga birlashtirish mumkin — bu takrorlanishni kamaytiradi.

example.go
package main

import "fmt"

// Takrorlanuvchi: uchta if bir xil natija ("chegirma yo'q") qaytaradi
func discountOld(age int, isStudent bool, isSenior bool) int {
	if age < 12 {
		return 0
	}
	if isStudent {
		return 10
	}
	if isSenior {
		return 15
	}
	return 0
}

// Birlashtirilgan: bir xil natijali shartlar || bilan qo'shildi
func discount(age int, isStudent bool, isSenior bool) int {
	if age < 12 || (!isStudent && !isSenior) {
		return 0
	}
	if isSenior {
		return 15
	}
	return 10
}

func main() {
	fmt.Println(discount(25, true, false))
	fmt.Println(discount(70, false, true))
	fmt.Println(discount(30, false, false))
}

|| ("yoki") — istalgan biri to'g'ri bo'lsa yetarli bo'lgan shartlarni birlashtiradi. Bu texnika ayniqsa bir nechta "rad etish" sharti bir xil natijaga olib kelganda foydali: ularni alohida-alohida yozish o'rniga, bittasiga jamlash mumkin.

>_ Exercise

Bir xil natijali shartlarni birlashtiring.

  • isWeekendOrHoliday(day string, isHoliday bool) bool yozing
  • day == "Saturday" YOKI day == "Sunday" YOKI isHoliday bo'lsa true qaytaring (bitta ifoda, || bilan)

Stuck? Reveal a hint to help you.

Hints (0/3)

Key Takeaway

Key Takeaway:

Bir xil natijaga olib keladigan bir nechta shartni ||/&& bilan bitta ifodaga birlashtirish — takrorlanishni kamaytiradi.

NEXT UP

Use switch Over if-else Chains