Cyklus for je príkaz riadiaceho toku používaný na opakované vykonávanie bloku kódu. V Go je cyklus for jedinou konštrukciou cyklu.
Slučku for môžete použiť na opakovanie blokov kódu a simuláciu celej škály slučiek z iných jazykov, vrátane slučiek for...each, while a do...while.
Inštalácia Prejsť na začiatok
Uistite sa, že máte Prejdite na inštaláciu nasledovať. Väčšina z týchto príkladov vyžaduje fmt balík a mali by ste použiť celkovú štruktúru, ako je táto:
balík hlavné
importovať "fmt"
funchlavné() {
// kód ide sem
}
Trojzložkový pre Loop in Go
Toto je možno najbežnejšia slučka for. Ako už názov napovedá, má tri komponenty: počiatočnú hodnotu, podmienku a príkaz post. Tu je syntax:
na inicializáciu; stav; príspevok {
Vyhlásenia)
}
V tejto slučke sa po inicializácii vyhodnotí podmienka. Ak je pravda, vykonajú sa príkazy v bloku cyklu for, po ktorých nasleduje príkaz post. Program tento proces opakuje dovtedy, kým sa podmienka už nevyhodnocuje ako pravdivá. Nižšie je uvedený príklad.
pre i := 1; i <= 5; i++ {
fmt.Println(i)
}
Tu:
- inicializačné sady i do 1
- podmienkou je i <= 5
- vyhlásenie o príspevku je i++
Táto slučka for vytlačí aktuálnu hodnotu i ak je menšie alebo rovné 5. „Poštový výpis“ pridáva 1 k i po každej slučke a raz i dostane na 5, cyklus sa ukončí. Bez „príkazu post“ by sa slučka vykonávala nekonečne krát a potenciálne by spôsobila zlyhanie programu.
A For-Each Loop in Go
Go nemá cyklus for-each, ale cyklus for môžete upraviť tak, aby prechádzal kolekciou prvkov. Tu je syntax:
pre index, hodnota := rozsah kolekcia {
// telo
}
Kolekcia môže byť pole, rez, reťazec alebo mapa alebo hodnoty prijaté na kanáli. Index je pozícia v kolekcii. Hodnota je prvok v indexe.
Ak vám záleží len na hodnote, vynechajte index takto:
pre _, hodnota := výsek rozsahu {}
V nižšie uvedenom príklade slučka prechádza poľom a vytlačí index aj hodnotu každej položky v ňom.
pole := []reťazec{"Ahoj", "sveta"}
pre i, j:= rozsah pole {
fmt.Println(i, j)
}
A While Loop in Go
Na dosiahnutie môžete použiť cyklus for zatiaľ čo funkcia slučky. V slučke while príkaz beží tak dlho, kým podmienka zostáva pravdivá. Zvážte nasledovné:
ja := 1
pre i <= 5 {
ja *= 2
}
fmt.Println(i)
V tomto kóde, zatiaľ čo i je menšia alebo rovná 5, vynásobí sa 2 pri každom spustení slučky.
A Do... Kým sa slučka spustí
Cyklus do...while sa líši od cyklu while, pretože telo cyklu sa vykoná aspoň raz. Existujú dva prístupy, ako to implementovať v Go.
- Uistite sa, že podmienka pre prvú iteráciu je nastavená na hodnotu true.
Keďže počiatočná podmienka je nastavená na hodnotu true, i sa vytlačí a potom sa zvýši v prvej iterácii. Od podmienky (ja <=5) vyhodnotí ako nepravda počas druhej iterácie, cyklus sa ukončí.ja:= 10
pre ďalšie := pravda; Ďalšie; ďalšie = i <= 5 {
fmt.Println(i)
i++
}// Vytlačí 10
- Vykonajte telo cyklu raz pred kontrolou podmienky.
V slučke for vyššie sa najskôr vytlačí 10, čo je hodnota i, a potom sa vykoná príkaz if. Ak je podmienka pravdivá, cyklus sa preruší, inak cyklus pokračuje.ja:= 10
pre {
fmt.Println(i)
i++Ak ja >= 5 {
prestávka;
}
}// Vytlačí 10
Ďalšie vyhlásenia o kontrolnom toku
Slučky pri programovaní sú dôležité, pretože zjednodušujú opakujúce sa úlohy a šetria čas. Namiesto toho, aby ste písali riadok kódu desaťkrát, môžete jednoducho vytvoriť slučku, ktorá sa spustí desaťkrát. Ďalšie príkazy riadiaceho toku sú if, if...else, if...else if...if a switch.
Čo je nové vo verzii Go 1.18
Prečítajte si ďalej
Súvisiace témy
- Programovanie
- Programovanie
O autorovi
Mary Gathoni je softvérová vývojárka s vášňou pre vytváranie technického obsahu, ktorý je nielen informatívny, ale aj pútavý. Keď práve nekóduje alebo nepíše, rada sa stretáva s priateľmi a je vonku.
prihlásiť sa ku odberu noviniek
Pripojte sa k nášmu bulletinu a získajte technické tipy, recenzie, bezplatné e-knihy a exkluzívne ponuky!
Kliknutím sem sa prihlásite na odber