Zanka for je stavek nadzornega toka, ki se uporablja za večkratno izvajanje bloka kode. V Go je zanka for edina konstrukcija zanke.

Zanko for lahko uporabite za ponavljanje blokov kode in simulacijo celotnega nabora zank iz drugih jezikov, vključno z zankami for...each, while in do...while.

Namestitev Pojdi na začetek

Prepričajte se, da imate Pojdi namestiti slediti. Večina teh primerov zahteva fmt paket, in uporabite celotno strukturo, kot je ta:

paket glavni

uvoz "fmt"

funcglavni() {
// koda gre tukaj
}

Trikomponentna zanka za zanko v Go

To je morda najpogostejša zanka za. Kot pove že ime, potrebuje tri komponente: začetno vrednost, pogoj in objavo. Tukaj je sintaksa:

za inicializacijo; stanje; objavi {
izjava (e)
}

V tej zanki se po inicializaciji oceni pogoj. Če je res, se izvedejo stavki v bloku zanke for, ki jim sledi stavek post. Program ponavlja ta postopek, dokler pogoj ni več resničen. Spodaj je primer.

za i := 1; jaz <= 5; i++ {
fmt.Println(jaz)
}

tukaj:

  • inicializacijskih nizov jaz do 1
  • pogoj je i <= 5
  • izjava po objavi je i++

Ta zanka for natisne trenutno vrednost jaz če je manjša ali enaka 5. „Izjava o objavi“ doda 1 k jaz po vsaki zanki in enkrat jaz doseže 5, se zanka konča. Brez 'izjave objave' bi se zanka izvajala neskončnokrat in bi lahko povzročila zrušitev programa.

Zanka za vsako v Go

Go nima zanke for-each, lahko pa spremenite zanko for, da prečkate zbirko elementov. Tukaj je sintaksa:

za indeks vrednost := zbirka obsega {
// telo
}

Zbirka je lahko matrika, rezina, niz ali zemljevid ali vrednosti, prejete na kanalu. Indeks je položaj v zbirki. Vrednost je element v indeksu.

Če vas zanima samo vrednost, izpustite indeks takole:

za _, vrednost := rezina obsega {}

V spodnjem primeru zanka prečka matriko in natisne tako indeks kot vrednost vsakega elementa v njem.

array := []string{"zdravo", "svetu"}

za i, j := obseg niz {
fmt.Println(jaz, j)
}

Zanka Medtem v Go

Za dosego lahko uporabite zanko for medtem ko funkcionalnost zanke. V zanki while se stavek izvaja, dokler pogoj ostane resničen. Upoštevajte naslednje:

jaz := 1

za i <= 5 {
i *= 2
}

fmt.Println(jaz)

V tej kodi, medtem ko jaz je manjša ali enaka 5, se pomnoži z 2 vsakič, ko se zanka izvaja.

Zanka Do...While v Go

Zanka do...while se razlikuje od zanke while, saj se telo zanke izvede vsaj enkrat. Obstajata dva pristopa za izvajanje tega v Go.

  1. Zagotovite, da je pogoj za prvo ponovitev nastavljen na true.
    i := 10

    za naslednji := prav; Naslednji; naslednji = i <= 5 {
    fmt.Println(jaz)
    i++
    }

    // Natisnil bo 10

    Ker je začetni pogoj nastavljen na resničen, jaz se natisne in nato poveča v prvi ponovitvi. Ker je pogoj (i <=5) se med drugo ponovitvijo ovrednoti na false, zanka zapusti.
  2. Enkrat izvedite telo zanke, preden preverite pogoj.
    i := 10

    za {
    fmt.Println(jaz)
    i++

    če jaz >= 5 {
    zlomiti;
    }
    }

    // Natisnil bo 10

    V zgornji zanki for se najprej natisne 10, ki je vrednost i, nato se izvede stavek if. Če je pogoj resničen, se zanka prekine, sicer se zanka nadaljuje.

Druge izjave o kontrolnem toku

Zanke pri programiranju so pomembne, ker poenostavljajo ponavljajoče se naloge in prihranijo čas. Namesto da desetkrat napišete vrstico kode, lahko preprosto ustvarite zanko, ki se izvaja desetkrat. Drugi stavki krmilnega toka so if, if...else, if...else if...if in stavki preklopa.

Kaj je novega v Go različici 1.18

Preberite Naprej

DelitiTweetDelitiE-naslov

Povezane teme

  • Programiranje
  • Programiranje

O avtorju

Marija Gathoni (22 objavljenih člankov)

Mary Gathoni je razvijalka programske opreme s strastjo do ustvarjanja tehničnih vsebin, ki niso le informativne, ampak tudi privlačne. Ko ne kodira ali piše, uživa v druženju s prijatelji in na prostem.

Več od Mary Gathoni

Naročite se na naše novice

Pridružite se našemu glasilu za tehnične nasvete, ocene, brezplačne e-knjige in ekskluzivne ponudbe!

Kliknite tukaj, da se naročite