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.
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.
- Sørg for at betingelsen for den første iterasjonen er satt til sann.
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.jeg := 10
til neste := ekte; neste; neste = i <= 5 {
fmt.Skriv ut(Jeg)
i++
}// Vil skrive ut 10
- Utfør løkken én gang før du kontrollerer tilstanden.
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.jeg := 10
for {
fmt.Skriv ut(Jeg)
i++hvis jeg >= 5 {
gå i stykker;
}
}// Vil skrive ut 10
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
Relaterte temaer
- Programmering
- Programmering
Om forfatteren
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.
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