For-silmukka on ohjausvuon käsky, jota käytetään koodilohkon toistumiseen suorittamiseen. Go: ssa for-silmukka on ainoa silmukkarakenne.
Voit käyttää for-silmukkaa toistaaksesi koodilohkoja ja simuloidaksesi kaikkia silmukoita muista kielistä, mukaan lukien for...each, while-silmukat ja do...while-silmukat.
Asenna Siirry alkuun
Varmista, että sinulla on Mene asennettuna seurata mukana. Suurin osa näistä esimerkeistä vaatii fmt pakettia, ja sinun tulee käyttää seuraavaa yleisrakennetta:
paketti pää
tuonti "fmt"
funcpää() {
// koodi menee tänne
}
Kolmikomponenttinen Loop in Go
Tämä on ehkä yleisin silmukalle. Kuten nimestä voi päätellä, se sisältää kolme komponenttia: alkuarvon, ehdon ja post-lausekkeen. Tässä on syntaksi:
alustusta varten; kunto; post {
lausunto(t)
}
Tässä silmukassa alustuksen jälkeen ehto arvioidaan. Jos tosi, for-silmukkalohkon käskyt suoritetaan ja sen jälkeen post-lause. Ohjelma toistaa tätä prosessia, kunnes ehto ei enää arvioida todeksi. Alla on esimerkki.
i: lle := 1; i <= 5; i++ {
fmt.Println(i)
}
Tässä:
- alustussarjat i to 1
- ehto on minä <= 5
- viesti on i++
Tämä for loop tulostaa nykyisen arvon i jos se on pienempi tai yhtä suuri kuin 5. "Postilausunto" lisää 1:n i jokaisen silmukan jälkeen ja kerran i saavuttaa 5, silmukka päättyy. Ilman "post-lausetta" silmukka suorittaisi äärettömästi ja saattaisi aiheuttaa ohjelman kaatumisen.
For-Each Loop in Go
Go ei sisällä for-each-silmukkaa, mutta voit muokata for-silmukkaa kulkemaan elementtikokoelman läpi. Tässä on syntaksi:
indeksille arvo := aluekokoelma {
// runko
}
Kokoelma voi olla taulukko, viipale, merkkijono tai kartta tai kanavalla vastaanotettuja arvoja. Indeksi on sijainti kokoelmassa. Arvo on indeksin elementti.
Jos välität vain arvosta, jätä indeksi pois seuraavasti:
kohteelle _, arvo := alueen viipale {}
Alla olevassa esimerkissä silmukka kulkee taulukon läpi ja tulostaa sekä indeksin että kunkin siinä olevan kohteen arvon.
array := []merkkijono{"Hei", "maailman-"}
varten i, j := alue joukko {
fmt.Println(i, j)
}
A While Loop in Go
Voit käyttää for-silmukkaa saavuttaaksesi silmukkatoiminto. Jossain aikasilmukassa lauseke suoritetaan niin kauan kuin ehto pysyy tosi. Harkitse seuraavaa:
minä := 1
minulle <= 5 {
i *= 2
}
fmt.Println(i)
Tässä koodissa, kun i on pienempi tai yhtä suuri kuin 5, se kerrotaan kahdella joka kerta, kun silmukka suoritetaan.
A Do…While Loop in Go
Do...while-silmukka eroaa while-silmukasta, koska silmukan runko suoritetaan vähintään kerran. Tämän toteuttamiseen Gossa on kaksi lähestymistapaa.
- Varmista, että ensimmäisen iteroinnin ehto on tosi.
Koska alkuehto on tosi, i tulostetaan ja kasvatetaan sitten ensimmäisessä iteraatiossa. Koska tila (minä <=5) evaluoituu epätosi toisen iteraation aikana, silmukka poistuu.minä := 10
varten seuraavaksi := totta; Seuraava; seuraava = minä <= 5 {
fmt.Println(i)
i++
}// Tulostetaan 10
- Suorita silmukan runko kerran ennen kunnon tarkistamista.
Yllä olevassa for-silmukassa 10, joka on i: n arvo, tulostetaan ensin ja sitten if-käsky suoritetaan. Jos ehto on tosi, silmukka katkeaa, muuten silmukka jatkuu.minä := 10
for {
fmt.Println(i)
i++jos minä >= 5 {
tauko;
}
}// Tulostetaan 10
Muut ohjausvirtalausumat
Ohjelmoinnin silmukat ovat tärkeitä, koska ne yksinkertaistavat toistuvia tehtäviä ja säästävät aikaa. Sen sijaan, että kirjoittaisit koodirivin kymmenen kertaa, voit luoda silmukan, joka suoritetaan kymmenen kertaa. Muut ohjausvirtalausekkeet ovat if, if...else, if...else if...if ja switch-käskyt.
Mitä uutta Go-versiossa 1.18
Lue Seuraava
Liittyvät aiheet
- Ohjelmointi
- Ohjelmointi
Kirjailijasta

Mary Gathoni on ohjelmistokehittäjä, jonka intohimona on luoda teknistä sisältöä, joka ei ole vain informatiivinen, vaan myös mukaansatempaava. Kun hän ei koodaa tai kirjoita, hän nauttii ystävien kanssa olemisesta ja ulkoilusta.
tilaa uutiskirjeemme
Liity uutiskirjeemme saadaksesi teknisiä vinkkejä, arvosteluja, ilmaisia e-kirjoja ja eksklusiivisia tarjouksia!
Klikkaa tästä tilataksesi