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)
}
instagram viewer

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.

  1. Varmista, että ensimmäisen iteroinnin ehto on tosi.
    minä := 10

    varten seuraavaksi := totta; Seuraava; seuraava = minä <= 5 {
    fmt.Println(i)
    i++
    }

    // Tulostetaan 10

    Koska alkuehto on tosi, i tulostetaan ja kasvatetaan sitten ensimmäisessä iteraatiossa. Koska tila (minä <=5) evaluoituu epätosi toisen iteraation aikana, silmukka poistuu.
  2. Suorita silmukan runko kerran ennen kunnon tarkistamista.
    minä := 10

    for {
    fmt.Println(i)
    i++

    jos minä >= 5 {
    tauko;
    }
    }

    // Tulostetaan 10

    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.

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

JaaTweetJaaSähköposti

Liittyvät aiheet

  • Ohjelmointi
  • Ohjelmointi

Kirjailijasta

Mary Gathoni (22 artikkelia julkaistu)

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.

Lisää Mary Gathonilta

tilaa uutiskirjeemme

Liity uutiskirjeemme saadaksesi teknisiä vinkkejä, arvosteluja, ilmaisia ​​e-kirjoja ja eksklusiivisia tarjouksia!

Klikkaa tästä tilataksesi