Skip to content

Sikl operatorlari

Go'da faqat bitta for sikl operatori mavjud.

  • Asosiy sikloperatori nuqat-virgul bilan ajratilgan uchta komponintandan iborat bo'ladi.
    • aniqash: interatsiydan oldin bajariladi. Bu qism odatada o'zgaruvchilar e'lon qilish qismi hisoblanadi va bu qismda e'lon qilingan o'zgaruvchilar faqat for sikl doirasida amal qiladi.
    • shart: har bir interatsiyadan oldin bajariladi. Bu qism sikl qachon to'xtashini aniqlash uchun hizmat qiladi ya'ni qachonki shart yolg'on bo'lsa sikl to'xtaydi.
    • yangilash: har bir interatsiya oxirida bajariladi. Bu qism har bir interatsiyadan so'ng aniqlash qismida e'lon qilingan o'zgaruvchini yangilash uchun hizmat qiladi.

Go'da for sikl operatori sintaksisi.

for aniqlsh; shart; yangilash {
   // itiratsiya bo'ladigan qism
}

1-misol

package main

import "fmt"

func main() {
    for i := 0; i < 10; i++ {
        fmt.Println(i)
    }
}
  • i := 0; - Takrorlanish hisoblagichini (i) boshlang'ich qiymatiga 0 qilib o'rnating
  • i < 10; - i 10 dan kichik bo'lsa, siklni davom ettiring
  • i++ - Har bir takrorlanishda hisoblagich qiymatini 1 ga oshiring

Info

Mustaqil i++ ni i += 2 o'zgartirib siab ko'ring.

Natija:

0
1
2
3
4
5
6
7
8
9

2-misol.

Faqat shart qismidan foydalanish.

package main

import "fmt"

func main() {
    i := 0
    for i < 10 {
        fmt.Println(i)
        i += 1
    }
}

Natija:

0
1
2
3
4
5
6
7
8
9

3-misol.

Cheksiz sikldan hosil qilish uchun for sikl operatorini birorta qismi kiritilmaydi, sikl to'xtatilishi uchun termenal yopilishi zarur yoki operatsion tizimning o'zi siklni to'xtatadi.

package main

import "fmt"

func main() {
    i := 0
    for {
        fmt.Println(i)
        i += 1
    }
}

4-misol. 1 dan 10 gacha bo'lgan sonlardan faqat juftlarini chiqarish

package main

import "fmt"

func main() {
    for i := 1; i < 10; i++ {
        if i%2 == 0 {
            fmt.Println(i)
        }
    }
}

Natija:

2
4
6
8

5-misol. 1 dan 10 gacha bo'lgan sonlardan faqat juftlarini chiqarish.

package main

import "fmt"

func main() {
    for i := 2; i < 10; i += 2 {
        fmt.Println(i)
    }
}

Natija:

2
4
6
8

4-misol. 1 dan 10 gacha bo'lgan sonlardan faqat toqlarini chiqarish.

package main

import "fmt"

func main() {
    for i := 1; i < 10; i++ {
        if i%2 == 1 {
            fmt.Println(i)
        }
    }
}

Natija:

1
3
5
7
9