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