Циклдер белгилүү бир шартка жараша белгилүү бир аракеттерди көп жолу аткарууга мүмкүндүк берет. Чынында, Go программасында бир гана цикл бар, ал көп формада боло алат. Бул цикл төмөнкү расмий аныктамага ээ:
1 2 3 |
|
Мисалы, циклди колдонуп сандардын квадраттарын чыгаралы:
1 2 3 4 5 6 7 8 9 |
|
for циклинин декларациясы үч бөлүккө бөлүнгөн. Биринчиден, эсептегич инициализацияланат: i := 1
. Чынында, ал цикл ичинде колдонула турган өзгөрмөнүн жарыясын билдирет. Бул учурда, баштапкы мааниси 1 болгон эсептегич i.
Экинчи бөлүк шартты билдирет: i < 10
. Бул шарт чын болсо, башкача айтканда, чындыкка кайтарылса, цикл улана берет.
Үчүнчү бөлүгү эсептегичтин бир өзгөрүшүн (көбөйтүлүшүн) билдирет.
Циклдин корпусунда i санынын квадраты консолдо көрсөтүлөт.
Ошентип, цикл iнин мааниси 10го барабар болмоюнча 9 жолу иштейт. Жана ар бир жолу бул маани 1ге көбөйөт. Циклдин ар бир өзүнчө өтүшү итерация деп аталат. Башкача айтканда, бул учурда 9 кайталоо болот. Натыйжада, биз төмөнкү консолдук натыйжаны алабыз:
Циклди жарыялоодо бардык шарттарды көрсөтүүнүн кереги жок. Мисалы, сиз өзгөрмө декларациясын сыртка жылдырсаңыз болот:
1 2 3 4 |
|
Сиз циклдин өзүндөгү эсептегичтин өзгөрүшүн алып салып, бир гана шартты калтырсаңыз болот:
1 2 3 4 5 |
|
Эгерде цикл шартты гана колдонсо, анда аны төмөнкүдөй кыскартууга болот:
1 2 3 4 5 |
|
Циклдерди уя салса болот, б.а. башка циклдердин ичинде. Мисалы, көбөйтүү таблицасын консолго басып чыгарыңыз:
1 2 3 4 5 6 7 8 9 10 11 12 |
|
1 2 3 4 5 6 7 8 9
2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81
Массивдерди кайталоо үчүн for циклинин төмөнкү формасын колдонсоңуз болот:
1 2 3 |
|
Итерациялоодо массивдеги элементтин индексин жана бул элементтин маанисин өзүнчө ала алабыз. Мисалы, саптардын массивинин үстүнөн кайталайлы:
1 2 3 4 |
|
Консол чыгаруу:
0 Том
1 Алиса
2 Кейт
Эгерде биз элементтин баалуулуктарын же индекстерин колдонууну пландабасак, анда анын ордуна сызыкчаны көрсөтө алабыз. Мисалы, бизге индекстердин кереги жок:
1 2 3 |
|
Бирок массивди кайталоо үчүн for циклинин стандарттык версиясын да колдонсоңуз болот:
1 2 3 4 |
|
Бул учурда эсептегич i индекстин ролун ойнойт. Цикл эсептегич i массивдин узундугуна барабар болмоюнча аткарылат, аны len() функциясы аркылуу алууга болот
Белгилүү шарттарда циклдин учурдагы итерациясын бүтүрүп, циклдин бардык инструкцияларын аткарбай, дароо кийинки итерацияга өтүү керек болгондо, кырдаал келип чыгышы мүмкүн. Бул учурда, сиз улантуу операторун колдоно аласыз . Мисалы, массив оң жана терс сандарды камтышы мүмкүн. Биз оң сандардын суммасын гана каалайбыз дейли, ошондуктан терс санга туш болсок, кийинки итерацияны улантуу менен уланта алабыз:
1 2 3 4 5 6 7 8 9 он |
|
break оператору циклден толугу менен чыгат :
1 2 3 4 5 6 7 8 9 10 |
|