while sikli
Go dasturlash tilida ma'lum bir shart bajarilib turguncha kod blokini takrorlash uchun while sikli vazifasini for operatori orqali bajaramiz.
Boshqa tillardan (C++, Java, Python) farqli o'laroq, Go tilida alohida while kalit so'zi mavjud emas. Buning o'rniga Go tilining for operatori while siklining barcha imkoniyatlarini to'liq ta'minlaydi.
for shart {
// takrorlanadigan kod bloki
}
Bu yerda:
shart tekshiriladi.shart true bo'lsa — sikl tanasi bajariladi va yana shart tekshiriladi.shart false bo'lsa — sikl o'z ishini yakunlaydi.
package main
import "fmt"
func main() {
number := 1
// number <= 5 bo'lib turguncha sikl aylanadi
for number <= 5 {
fmt.Println(number)
number++
}
}
Natija:
1
2
3
4
5
number = 1. 1 <= 5 sharti true, shuning uchun 1 ekranga chiqadi va number++ uni 2 ga oshiradi.2 <= 5 sharti true, 2 chiqadi va qiymat 3 ga oshadi.number = 6 bo'lguniga qadar davom etadi. 6 <= 5 sharti false bo'lganda sikl tugaydi.5 sonining 1 dan 10 gacha bo'lgan ko'paytirish jadvalini tuzamiz:
package main
import "fmt"
func main() {
multiplier := 1
for multiplier <= 10 {
product := 5 * multiplier
fmt.Printf("5 * %d = %d\n", multiplier, product)
multiplier++
}
}
Natija:
5 * 1 = 5
5 * 2 = 10
5 * 3 = 15
5 * 4 = 20
5 * 5 = 25
5 * 6 = 30
5 * 7 = 35
5 * 8 = 40
5 * 9 = 45
5 * 10 = 50
Ko'pgina tillarda do...while sikli mavjud bo'lib, u shart bajarilishidan qat'i nazar kod blokini kamida bir marta ishga tushirish uchun qo'llaniladi.
Goda do...while operatori bo'lmasa-da, cheksiz for sikli va uning ichida if bilan break qo'llash orqali bu mantiqni osonlikcha amalga oshirish mumkin:
package main
import "fmt"
func main() {
number := 1
for {
fmt.Println(number)
number++
// Shart bajarilganda siklni to'xtatamiz
if number > 5 {
break
}
}
}
Natija:
1
2
3
4
5
Bu usulda kod bloki (fmt.Println(number)) avval bajariladi, keyin shart tekshiriladi — aynan do...while kabi!