De for-lus is een besturingsstroominstructie die wordt gebruikt om herhaaldelijk een codeblok uit te voeren. In Go is de for-lus de enige lusconstructie.

U kunt de for-lus gebruiken om codeblokken te herhalen en een volledige reeks lussen uit andere talen te simuleren, inclusief for...each, while-lussen en do...while-lussen.

Installeren Ga naar Begin

Zorg dat je hebt Ga geïnstalleerd mee te volgen. De meeste van deze voorbeelden vereisen de fmt pakket, en u zou een algemene structuur als deze moeten gebruiken:

pakket hoofd

importeren "fmt"

funchoofd() {
// code komt hier
}

Een driecomponenten voor Loop in Go

Dit is misschien wel de meest voorkomende for-loop. Zoals de naam al doet vermoeden, zijn er drie componenten nodig: de initiële waarde, een voorwaarde en een post-statement. Hier is de syntaxis:

voor initialisatie; voorwaarde; na {
verklaring (en)
}

In deze lus wordt na de initialisatie de conditie geëvalueerd. Indien waar, worden de instructies in het for-lusblok uitgevoerd, gevolgd door de post-instructie. Het programma herhaalt dit proces totdat de voorwaarde niet langer waar is. Hieronder staat een voorbeeld.

instagram viewer

voor ik := 1; i <= 5; ik++ {
fmt.Println(i)
}

Hier:

  • de initialisatie sets i tot 1
  • de voorwaarde is: ik <= 5
  • de post verklaring is ik++

Deze for-lus drukt de huidige waarde van. af i als het kleiner is dan of gelijk is aan 5. Het ‘post statement’ voegt 1 toe aan i na elke lus en eenmaal i tot 5 komt, eindigt de lus. Zonder de 'post-instructie' zou de lus oneindig vaak worden uitgevoerd en zou het programma kunnen crashen.

Een voor elke lus in Go

Go heeft geen for-each-lus, maar u kunt een for-lus wijzigen om een ​​verzameling elementen te doorlopen. Hier is de syntaxis:

voor index, waarde := bereikverzameling {
// lichaam
}

De verzameling kan een array, slice, string of map zijn, of waarden die op een kanaal zijn ontvangen. De index is de positie in de collectie. De waarde is het element in de index.

Als u alleen om de waarde geeft, laat de index dan als volgt weg:

voor _, waarde := bereiksegment {}

In het onderstaande voorbeeld doorloopt de lus de array en drukt zowel de index als de waarde van elk item erin af.

matrix := []tekenreeks{"Hallo", "wereld-"}

voor ik, j := bereik reeks {
fmt.Println(i, j)
}

Een While-lus in Go

U kunt de for-lus gebruiken om te bereiken while-lus-functionaliteit. In een while-lus wordt een instructie uitgevoerd zolang een voorwaarde waar blijft. Stel je de volgende situatie voor:

ik := 1

voor ik <= 5 {
ik *= 2
}

fmt.Println(i)

In deze code, terwijl i kleiner is dan of gelijk is aan 5, wordt het elke keer dat de lus wordt uitgevoerd met 2 vermenigvuldigd.

Een Do...Terwijl Loop in Go

De do...while-lus verschilt van de while-lus, aangezien de lus-body minstens één keer wordt uitgevoerd. Er zijn twee manieren om dit in Go te implementeren.

  1. Zorg ervoor dat de voorwaarde voor de eerste iteratie is ingesteld op waar.
    ik := 10

    voor volgende := WAAR; De volgende; volgende = ik <= 5 {
    fmt.Println(i)
    ik++
    }

    // Zal 10. afdrukken

    Aangezien de beginvoorwaarde is ingesteld op waar, i wordt afgedrukt en vervolgens in de eerste iteratie verhoogd. Aangezien de toestand (ik <=5) evalueert naar false tijdens de tweede iteratie, wordt de lus afgesloten.
  2. Voer de lusbody één keer uit voordat u de voorwaarde controleert.
    ik := 10

    voor {
    fmt.Println(i)
    ik++

    als ik >= 5 {
    pauze;
    }
    }

    // Zal 10. afdrukken

    In de for-lus hierboven wordt 10, wat de waarde van i is, eerst afgedrukt en vervolgens wordt het if-statement uitgevoerd. Als de voorwaarde waar is, breekt de lus, anders gaat de lus verder.

Andere controlestroomoverzichten

Lussen in de programmering zijn belangrijk omdat ze repetitieve taken vereenvoudigen en tijd besparen. In plaats van tien keer een regel code te schrijven, kun je eenvoudig een lus maken die tien keer wordt uitgevoerd. Andere control flow statements zijn if, if...else, if...else if...if en switch statements.

Wat is er nieuw in Go-versie 1.18

Lees volgende

DeelTweetenDeelE-mail

Gerelateerde onderwerpen

  • Programmeren
  • Programmeren

Over de auteur

Mary Gathoni (22 artikelen gepubliceerd)

Mary Gathoni is een softwareontwikkelaar met een passie voor het maken van technische inhoud die niet alleen informatief maar ook boeiend is. Als ze niet aan het coderen of schrijven is, gaat ze graag met vrienden om en is ze graag buiten.

Meer van Mary Gathoni

Abonneer op onze nieuwsbrief

Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!

Klik hier om je te abonneren