- Published on
Swiftda guard operatori
- Authors
- Name
- ShoxruxC
- @iOSdasturchi
Swift dasturlash tilida guard operatori ma’lum shart bajarilmasa, dastur boshqaruvini scope’dan chiqarish uchun ishlatiladi.
guard operatori if operatoriga o‘xshaydi, farqi shundaki:
ifoperatori shart bajarilganda ishlaydiguardoperatori shart bajarilmasa ishlaydi
Sintaksis:
guard expression else {
// kod bloki
// boshqaruv operatori: return, break, continue yoki throw
}
expressionqiymati true bo‘lsa →guardichidagi kod bajarilmaydiexpressionqiymati false bo‘lsa →guardichidagi kod bajariladi
guardblokidan chiqish uchun return, break, continue yoki throw ishlatilishi majbur.
guard operatori qanday ishlaydi?

shart tekshirildi → false → guard ichidagi kod bajarildi → boshqaruv operatori bilan scope’dan chiqildi
Misol:
var i = 2
while (i <= 10) {
// juft sonni tekshirish
guard i % 2 == 0 else {
i = i + 1
continue
}
print(i)
i = i + 1
}
Natija:
2
4
6
8
10
Tushuntirish:
i % 2 == 0false bo‘lsa →guardichidagi kod ishlaydi vacontinuebilan keyingi iteratsiyaga o‘tadi- Faqat juft sonlar chop etiladi.
Misol:
func checkOddEven() {
var number = 23
guard number % 2 == 0 else {
print("Odd Number")
return
}
print("Even Number")
}
checkOddEven()
Natija:
Odd Number
Tushuntirish:
number23 →number % 2 == 0falseguardichidagi kod bajariladi → Odd Number chiqariladi
Endi number = 24 bo‘lsa:
func checkOddEven() {
var number = 24
guard number % 2 == 0 else {
print("Odd Number")
return
}
print("Even Number")
}
checkOddEven()
Natija:
Even Number
numberjuft bo‘lgani uchunguardichidagi kod o‘tkazib yuboriladi, boshqa kod bajariladi.
Misol:
func checkJobEligibility() {
var age = 33
guard age >= 18, age <= 40 else {
print("Not Eligible for Job")
return
}
print("You are eligible for this job")
}
checkJobEligibility()
Natija:
You are eligible for this job
- Shartlar vergul bilan ajratilgan
- Barcha shartlar true bo‘lsa → guard o‘tkazib yuboriladi
Misol:
func checkAge() {
var age: Int? = 22
guard let myAge = age else {
print("Age is undefined")
return
}
print("My age is \(myAge)")
}
checkAge()
Natija:
My age is 22
ageqiymatga ega → guard-let ichidagi kod bajarilmaydi- Agar
age = nilbo‘lsa → "Age is undefined" chiqariladi
Misol:
if operatori bilan:
func voteEligibility() {
var age = 42
if age >= 18 {
print("Eligible to vote")
} else {
print("Not eligible to vote")
}
}
voteEligibility()
Natija:
Eligible to vote
guard operatori bilan:
func voteEligibility() {
var age = 42
guard age >= 18 else {
print("Not Eligible to vote")
return
}
print("Eligible to vote")
}
voteEligibility()
Natija:
Eligible to vote
guardshart false bo‘lsa → funksiyani darhol tark etadiifoperatorida esa else qismi ishlaydi