For-loopen är en kontrollflödessats som används för att upprepade gånger exekvera ett kodblock. I Go är for-slingan den enda loopningskonstruktionen.
Du kan använda for-slingan för att repetera kodblock och simulera ett komplett utbud av loopar från andra språk, inklusive for...each, while-loopar och do...while-loopar.
Installera Gå till början
Se till att du har Gå installerad att följa med. De flesta av dessa exempel kräver fmt paket, och du bör använda en övergripande struktur så här:
paket huvud
importera "fmt"
funchuvud() {
// koden går här
}
En trekomponent för Loop in Go
Detta är kanske det vanligaste för loop. Som namnet antyder tar det tre komponenter: det initiala värdet, ett villkor och en post-sats. Här är syntaxen:
för initiering; skick; posta {
uttalande (er)
}
I denna loop, efter initieringen, utvärderas tillståndet. Om det är sant, körs satserna i for loop-blocket, följt av postsatsen. Programmet upprepar denna process tills villkoret inte längre utvärderas till sant. Nedan följer ett exempel.
för i := 1; i <= 5; i++ {
fmt.Skriv ut(i)
}
Här:
- initieringsinställningarna i till 1
- tillståndet är jag <= 5
- inlägget uttalande är i++
Detta för loop skriver ut det aktuella värdet på i om det är mindre än eller lika med 5. "Inläggsutlåtandet" lägger till 1 till i efter varje slinga och en gång i kommer till 5, avslutas slingan. Utan "post statement" skulle loopen köras oändligt många gånger och potentiellt få programmet att krascha.
En för varje slinga i farten
Go har inte en slinga för varje, men du kan modifiera en for-slinga för att korsa en samling element. Här är syntaxen:
för index, värde := intervallsamling {
// kropp
}
Samlingen kan vara en array, segment, sträng eller karta, eller värden som tas emot på en kanal. Indexet är positionen i samlingen. Värdet är elementet i indexet.
Om du bara bryr dig om värdet, utelämna indexet så här:
för _, värde := områdessegment {}
I exemplet nedan går slingan genom arrayen och skriver ut både indexet och värdet för varje objekt i den.
array := []sträng{"Hallå", "värld"}
för i, j := intervall array {
fmt.Skriv ut(i, j)
}
A While Loop in Go
Du kan använda for-slingan för att uppnå medan loop-funktionalitet. I en while-loop körs en sats så länge som ett villkor förblir sant. Tänk på följande:
jag := 1
för jag <= 5 {
jag *= 2
}
fmt.Skriv ut(i)
I den här koden, medan i är mindre än eller lika med 5, multipliceras den med 2 varje gång slingan körs.
En gör... medan loop i farten
Do...while-loopen skiljer sig från while-loopen eftersom loopkroppen kommer att köras minst en gång. Det finns två sätt att implementera detta i Go.
- Se till att villkoret för den första iterationen är inställt på sant.
Eftersom det initiala villkoret är satt till sant, i skrivs ut och inkrementeras sedan i den första iterationen. Eftersom tillståndet (jag <=5) utvärderas till falskt under den andra iterationen, slingan avslutas.jag:= 10
för nästa := Sann; Nästa; nästa = i <= 5 {
fmt.Skriv ut(i)
i++
}// Kommer att skriva ut 10
- Utför slingkroppen en gång innan du kontrollerar tillståndet.
I for-slingan ovan skrivs 10, vilket är värdet av i, först ut och sedan körs if-satsen. Om villkoret är sant bryts slingan, annars fortsätter slingan.jag:= 10
för {
fmt.Skriv ut(i)
i++om jag >= 5 {
ha sönder;
}
}// Kommer att skriva ut 10
Andra kontrollflödesbeskrivningar
Slingor i programmering är viktiga eftersom de förenklar repetitiva uppgifter och sparar tid. Istället för att skriva en kodrad tio gånger kan du helt enkelt skapa en loop som körs tio gånger. Andra kontrollflödessatser är if, if...else, if...else if...if, och switch-satser.
Vad är nytt i Go version 1.18
Läs Nästa
Relaterade ämnen
- Programmering
- Programmering
Om författaren

Mary Gathoni är en mjukvaruutvecklare med en passion för att skapa tekniskt innehåll som inte bara är informativt utan också engagerar. När hon inte kodar eller skriver tycker hon om att umgås med vänner och att vara utomhus.
Prenumerera på vårt nyhetsbrev
Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e-böcker och exklusiva erbjudanden!
Klicka här för att prenumerera