For-løkken er en kontrolflow-sætning, der bruges til gentagne gange at udføre en kodeblok. I Go er for-løkken den eneste looping-konstruktion.
Du kan bruge for-løkken til at gentage kodeblokke og simulere en hel række af loops fra andre sprog, inklusive for...each, while-loops og do...while-løkker.
Installer Gå til start
Sørg for, at du har Gå installeret at følge med. De fleste af disse eksempler kræver fmt pakke, og du bør bruge en overordnet struktur som denne:
pakke vigtigste
importere "fmt"
funcvigtigste() {
// koden går her
}
En tre-komponent til Loop in Go
Dette er måske det mest almindelige for loop. Som navnet antyder, kræver det tre komponenter: startværdien, en betingelse og en post-erklæring. Her er syntaksen:
til initialisering; tilstand; post {
erklæring(er)
}
I denne løkke, efter initialiseringen, evalueres tilstanden. Hvis det er sandt, udføres sætningerne i for loop-blokken, efterfulgt af post-sætningen. Programmet gentager denne proces, indtil tilstanden ikke længere evalueres til sand. Nedenfor er et eksempel.
for i := 1; jeg <= 5; i++ {
fmt.Println(jeg)
}
Her:
- initialiseringssættene jeg til 1
- tilstanden er i <= 5
- posterklæringen er i++
Denne for loop udskriver den aktuelle værdi af jeg hvis den er mindre end eller lig med 5. 'Posterklæringen' tilføjer 1 til jeg efter hver sløjfe og én gang jeg når 5, afsluttes løkken. Uden 'post statement' ville løkken udføre uendelige gange og potentielt få programmet til at gå ned.
En For-Each Loop in Go
Go har ikke en for-hver-løkke, men du kan ændre en for-løkke for at krydse en samling af elementer. Her er syntaksen:
for indeks, værdi := områdesamling {
// krop
}
Samlingen kan være en matrix, udsnit, streng eller kort eller værdier modtaget på en kanal. Indekset er positionen i samlingen. Værdien er elementet ved indekset.
Hvis du kun bekymrer dig om værdien, skal du udelade indekset på denne måde:
for _, værdi := områdeudsnit {}
I eksemplet nedenfor krydser løkken arrayet og udskriver både indekset og værdien af hvert element i det.
matrix := []streng{"Hej", "verden"}
til i, j := område array {
fmt.Println(jeg, j)
}
A While Loop in Go
Du kan bruge for-løkken til at opnå mens loop funktionalitet. I en while-løkke kører en erklæring, så længe en betingelse forbliver sand. Overvej følgende:
jeg := 1
for i <= 5 {
i *= 2
}
fmt.Println(jeg)
I denne kode, mens jeg er mindre end eller lig med 5, ganges det med 2 hver gang løkken kører.
A Do…While Loop in Go
Do...while-løkken er forskellig fra while-løkken, da loop-kroppen vil køre mindst én gang. Der er to tilgange til at implementere dette i Go.
- Sørg for, at betingelsen for den første iteration er sat til sand.
Da startbetingelsen er sat til sand, jeg udskrives og øges derefter i den første iteration. Da tilstanden (i <=5) evalueres til falsk under den anden iteration, løkken afsluttes.i := 10
til næste := rigtigt; Næste; næste = i <= 5 {
fmt.Println(jeg)
i++
}// Udskriver 10
- Udfør løkkelegemet én gang, før du kontrollerer tilstanden.
I for-løkken ovenfor udskrives 10, som er værdien af i, først og derefter udføres if-sætningen. Hvis betingelsen er sand, bryder løkken, ellers fortsætter løkken.i := 10
til {
fmt.Println(jeg)
i++hvis jeg >= 5 {
pause;
}
}// Udskriver 10
Andre kontrolflowerklæringer
Sløjfer i programmering er vigtige, fordi de forenkler gentagne opgaver og sparer tid. I stedet for at skrive en kodelinje ti gange, kan du blot oprette en løkke, der kører ti gange. Andre kontrolflow-sætninger er if, if...else, if...else if...if, og switch-sætninger.
Hvad er nyt i Go version 1.18
Læs Næste
Relaterede emner
- Programmering
- Programmering
Om forfatteren
Mary Gathoni er en softwareudvikler med en passion for at skabe teknisk indhold, der ikke kun er informativt, men også engagerende. Når hun ikke koder eller skriver, nyder hun at hænge ud med venner og være udendørs.
Abonner på vores nyhedsbrev
Tilmeld dig vores nyhedsbrev for tekniske tips, anmeldelser, gratis e-bøger og eksklusive tilbud!
Klik her for at abonnere