Ciklas for yra valdymo srauto sakinys, naudojamas pakartotinai vykdyti kodo bloką. „Go“ sistemoje „for“ yra vienintelė kilpos konstrukcija.
Galite naudoti for kilpą, kad kartotumėte kodo blokus ir imituotumėte visą eilę kilpų iš kitų kalbų, įskaitant for...each, while ciklus ir do...while ciklus.
Įdiegti Eikite į pradžią
Įsitikinkite, kad turite Eik įdiegta sekti kartu. Daugumai šių pavyzdžių reikia fmt paketą ir turėtumėte naudoti tokią bendrą struktūrą:
paketą pagrindinis
importuoti "fmt"
funcpagrindinis() {
// kodas eina čia
}
Trijų komponentų, skirtų Loop in Go
Tai turbūt labiausiai paplitusi kilpai. Kaip rodo pavadinimas, jį sudaro trys komponentai: pradinė vertė, sąlyga ir pranešimas. Štai sintaksė:
inicijavimui; būklė; post {
pareiškimas (-ai)
}
Šioje kilpoje po inicijavimo įvertinama sąlyga. Jei teisinga, vykdomi teiginiai ciklo bloke, o po to - post teiginys. Programa kartoja šį procesą, kol sąlyga nebebus vertinama kaip teisinga. Žemiau yra pavyzdys.
už i := 1; i <= 5; i++ {
fmt.Spausdinti(i)
}
Čia:
- inicijavimo rinkiniai i į 1
- sąlyga yra aš <= 5
- pašto pareiškimas yra i++
Šis ciklas atspausdina dabartinę reikšmę i jei jis yra mažesnis arba lygus 5. „Paskelbimo pareiškimas“ pridedamas prie 1 i po kiekvienos kilpos ir vieną kartą i pasiekia 5, ciklas baigiasi. Be „post pareiškimo“, ciklas būtų vykdomas be galo daug kartų ir dėl to programa gali sugesti.
„Kiekvienam“ kilpa
Go neturi kiekvienos kilpos, bet galite modifikuoti for kilpą, kad pereitumėte elementų rinkinį. Štai sintaksė:
indeksui vertė := diapazono rinkinys {
// kūnas
}
Kolekcija gali būti masyvas, pjūvis, eilutė ar žemėlapis arba kanale gautos reikšmės. Indeksas yra pozicija kolekcijoje. Vertė yra indekso elementas.
Jei jums rūpi tik vertė, praleiskite tokį indeksą:
_, reikšmė := diapazono skiltis {}
Toliau pateiktame pavyzdyje kilpa kerta masyvą ir išspausdina kiekvieno jame esančio elemento indeksą ir reikšmę.
masyvas := []eilutė{"Sveiki", "pasaulis"}
dėl i, j := diapazonas masyvas {
fmt.Spausdinti(i, j)
}
A While Loop in Go
Norėdami pasiekti, galite naudoti for kilpą o ciklo funkcionalumas. Kai ciklo metu teiginys veikia tol, kol sąlyga išlieka teisinga. Apsvarstykite šiuos dalykus:
aš := 1
už aš <= 5 {
aš *= 2
}
fmt.Spausdinti(i)
Šiame kode, o i yra mažesnis arba lygus 5, jis dauginamas iš 2 kiekvieną kartą, kai vyksta ciklas.
A Do...While Loop in Go
Ciklas do...while skiriasi nuo while, nes ciklo korpusas bus vykdomas bent kartą. Yra du būdai, kaip tai įgyvendinti Go.
- Įsitikinkite, kad pirmosios iteracijos sąlyga yra teisinga.
Kadangi pradinė sąlyga nustatyta kaip tiesa, i atspausdinamas, o tada padidinamas per pirmąją iteraciją. Nuo būklės (aš <=5) per antrąją iteraciją įvertina kaip false, ciklas išeina.aš := 10
dėl kitas := tiesa; Kitas; kitas = aš <= 5 {
fmt.Spausdinti(i)
i++
}// Spausdins 10
- Prieš patikrindami būklę, vieną kartą paleiskite kilpos korpusą.
Aukščiau esančioje for kilpoje pirmiausia atspausdinama 10, kuri yra i reikšmė, tada įvykdomas if sakinys. Jei sąlyga teisinga, ciklas nutrūksta, priešingu atveju ciklas tęsiasi.aš := 10
dėl {
fmt.Spausdinti(i)
i++jeigu aš >= 5 {
pertrauka;
}
}// Spausdins 10
Kiti valdymo srauto pareiškimai
Programavimo kilpos yra svarbios, nes jos supaprastina pasikartojančias užduotis ir taupo laiką. Užuot rašę kodo eilutę dešimt kartų, galite tiesiog sukurti dešimt kartų paleidžiamą kilpą. Kiti valdymo srauto teiginiai yra if, if...else, if...else if...if ir perjungimo teiginiai.
Kas naujo „Go“ 1.18 versijoje
Skaitykite toliau
Susijusios temos
- Programavimas
- Programavimas
Apie autorių
Mary Gathoni yra programinės įrangos kūrėja, kuri aistringai kuria techninį turinį, kuris būtų ne tik informatyvus, bet ir įtraukiantis. Kai ji nekoduoja ir nerašo, jai patinka leisti laiką su draugais ir būti lauke.
Prenumeruokite mūsų naujienlaiškį
Prisijunkite prie mūsų naujienlaiškio, kad gautumėte techninių patarimų, apžvalgų, nemokamų el. knygų ir išskirtinių pasiūlymų!
Spauskite čia norėdami užsiprenumeruoti