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.

instagram viewer
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.

  1. Sørg for, at betingelsen for den første iteration er sat til sand.
    i := 10

    til næste := rigtigt; Næste; næste = i <= 5 {
    fmt.Println(jeg)
    i++
    }

    // Udskriver 10

    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.
  2. Udfør løkkelegemet én gang, før du kontrollerer tilstanden.
    i := 10

    til {
    fmt.Println(jeg)
    i++

    hvis jeg >= 5 {
    pause;
    }
    }

    // Udskriver 10

    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.

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

DelTweetDelE-mail

Relaterede emner

  • Programmering
  • Programmering

Om forfatteren

Mary Gathoni (22 artikler udgivet)

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.

Mere fra Mary Gathoni

Abonner på vores nyhedsbrev

Tilmeld dig vores nyhedsbrev for tekniske tips, anmeldelser, gratis e-bøger og eksklusive tilbud!

Klik her for at abonnere