For-løkken er en kontrollflytsetning som brukes til å utføre en kodeblokk gjentatte ganger. I Go er for-løkken den eneste sløyfekonstruksjonen.

Du kan bruke for-løkken til å gjenta kodeblokker og simulere en hel rekke løkker fra andre språk, inkludert for...hver, while-løkker og do...while-løkker.

Installer Gå til start

Sørg for at du har Gå installert å følge med. De fleste av disse eksemplene krever fmt pakke, og du bør bruke en generell struktur som dette:

pakke hoved-

import "fmt"

funchoved-() {
// koden går her
}

En trekomponent for Loop in Go

Dette er kanskje det vanligste for loop. Som navnet antyder, tar det tre komponenter: startverdien, en betingelse og en posterklæring. Her er syntaksen:

for initialisering; tilstand; post {
uttalelse(r)
}

I denne sløyfen, etter initialiseringen, blir tilstanden evaluert. Hvis det er sant, kjøres setningene i for loop-blokken, etterfulgt av post-setningen. Programmet gjentar denne prosessen til tilstanden ikke lenger evalueres til sann. Nedenfor er et eksempel.

instagram viewer
for i := 1; Jeg <= 5; i++ {
fmt.Skriv ut(Jeg)
}

Her:

  • initialiseringssettene Jeg til 1
  • tilstanden er jeg <= 5
  • innlegget uttalelse er i++

Denne for loop skriver ut gjeldende verdi av Jeg hvis den er mindre enn eller lik 5. "Innleggsuttalelsen" legger 1 til Jeg etter hver sløyfe og én gang Jeg kommer til 5, sløyfen avsluttes. Uten "post statement" ville løkken kjøre uendelig mange ganger og potensielt få programmet til å krasje.

En For-Each Loop in Go

Go har ikke en for-hver-løkke, men du kan endre en for-løkke for å krysse en samling av elementer. Her er syntaksen:

for indeks, verdi := områdesamling {
// kropp
}

Samlingen kan være en matrise, skive, streng eller kart, eller verdier mottatt på en kanal. Indeksen er posisjonen i samlingen. Verdien er elementet ved indeksen.

Hvis du bare bryr deg om verdien, utelat indeksen slik:

for _, verdi := områdestykke {}

I eksemplet nedenfor krysser sløyfen matrisen og skriver ut både indeksen og verdien for hvert element i den.

array := []streng{"Hallo", "verden"}

til i, j := rekkevidde array {
fmt.Skriv ut(Jeg, j)
}

A While Loop in Go

Du kan bruke for-løkken for å oppnå mens loop-funksjonalitet. I en while-løkke kjører en setning så lenge en betingelse forblir sann. Vurder følgende:

jeg := 1

for jeg <= 5 {
jeg *= 2
}

fmt.Skriv ut(Jeg)

I denne koden, mens Jeg er mindre enn eller lik 5, multipliseres den med 2 hver gang sløyfen går.

En Gjør... Mens Loop in Go

Do...while-løkken er forskjellig fra while-løkken, da loopkroppen vil kjøre minst én gang. Det er to tilnærminger til å implementere dette i Go.

  1. Sørg for at betingelsen for den første iterasjonen er satt til sann.
    jeg := 10

    til neste := ekte; neste; neste = i <= 5 {
    fmt.Skriv ut(Jeg)
    i++
    }

    // Vil skrive ut 10

    Siden startbetingelsen er satt til sann, Jeg skrives ut og økes deretter i den første iterasjonen. Siden tilstanden (jeg <=5) evalueres til falsk under den andre iterasjonen, går løkken ut.
  2. Utfør løkken én gang før du kontrollerer tilstanden.
    jeg := 10

    for {
    fmt.Skriv ut(Jeg)
    i++

    hvis jeg >= 5 {
    gå i stykker;
    }
    }

    // Vil skrive ut 10

    I for-løkken ovenfor skrives 10, som er verdien av i, først ut, deretter kjøres if-setningen. Hvis betingelsen er sann, brytes sløyfen, ellers fortsetter sløyfen.

Andre kontrollflyterklæringer

Sløyfer i programmering er viktige fordi de forenkler repeterende oppgaver, og sparer tid. I stedet for å skrive en kodelinje ti ganger, kan du ganske enkelt lage en løkke som går ti ganger. Andre kontrollflytsetninger er if, if...else, if...else if...if, og switch-setninger.

Hva er nytt i Go versjon 1.18

Les Neste

DelekvitringDeleE-post

Relaterte temaer

  • Programmering
  • Programmering

Om forfatteren

Mary Gathoni (22 artikler publisert)

Mary Gathoni er en programvareutvikler med en lidenskap for å lage teknisk innhold som ikke bare er informativt, men også engasjerende. Når hun ikke koder eller skriver, liker hun å henge med venner og være utendørs.

Mer fra Mary Gathoni

Abonner på vårt nyhetsbrev

Bli med i vårt nyhetsbrev for tekniske tips, anmeldelser, gratis e-bøker og eksklusive tilbud!

Klikk her for å abonnere