Smyčka for je příkaz řídicího toku používaný k opakovanému provádění bloku kódu. V Go je smyčka for jedinou konstrukcí smyčky.

Smyčku for můžete použít k opakování bloků kódu a simulaci celé řady smyček z jiných jazyků, včetně smyček for...each, while a do...while.

Instalace Přejít na začátek

Ujistěte se, že máte Přejděte na instalaci následovat. Většina těchto příkladů vyžaduje fmt balíček a měli byste použít celkovou strukturu, jako je tato:

balík hlavní

import "fmt"

funchlavní() {
// kód jde sem
}

Třísložkový pro Loop in Go

Toto je možná nejběžnější smyčka for. Jak název napovídá, má tři komponenty: počáteční hodnotu, podmínku a příkaz post. Zde je syntaxe:

pro inicializaci; stav; pošta {
prohlášení (y)
}

V této smyčce se po inicializaci vyhodnotí podmínka. Pokud má hodnotu true, provedou se příkazy v bloku cyklu for, následované příkazem post. Program tento proces opakuje, dokud se podmínka již nevyhodnocuje jako pravdivá. Níže je uveden příklad.

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

Tady:

  • inicializační sady i na 1
  • podmínkou je i <= 5
  • prohlášení o příspěvku je i++
instagram viewer

Tato smyčka for vytiskne aktuální hodnotu i pokud je menší nebo roven 5. „Poslat prohlášení“ přidává 1 k i po každé smyčce a jednou i dostane na 5, smyčka skončí. Bez „příkazu post“ by se smyčka spouštěla ​​nekonečněkrát a potenciálně by způsobila pád programu.

A For-Each Loop in Go

Go nemá smyčku for-each, ale smyčku for můžete upravit tak, aby procházela kolekcí prvků. Zde je syntaxe:

pro index, hodnota := rozsah kolekce {
// tělo
}

Kolekce může být pole, řez, řetězec nebo mapa nebo hodnoty přijaté na kanálu. Index je pozice v kolekci. Hodnota je prvek v indexu.

Pokud vás zajímá pouze hodnota, vynechejte index takto:

pro _, hodnota := výsek rozsahu {}

V níže uvedeném příkladu smyčka prochází polem a vytiskne index i hodnotu každé položky v něm.

pole := []řetězec{"Ahoj", "svět"}

pro i, j := rozsah pole {
fmt.Println(i, j)
}

A While Loop in Go

K dosažení můžete použít smyčku for zatímco funkce smyčky. V cyklu while běží příkaz tak dlouho, dokud podmínka zůstává pravdivá. Zvažte následující:

já:= 1

Protože já <= 5 {
i *= 2
}

fmt.Println(i)

V tomto kódu, zatímco i je menší nebo roven 5, násobí se 2 při každém spuštění smyčky.

A Do… Zatímco smyčka na cestě

Cyklus do...while se liší od cyklu while, protože tělo smyčky se provede alespoň jednou. Existují dva přístupy, jak to implementovat v Go.

  1. Ujistěte se, že podmínka pro první iteraci je nastavena na hodnotu true.
    já:= 10

    pro další := skutečný; další; další = i <= 5 {
    fmt.Println(i)
    i++
    }

    // Vytiskne 10

    Protože je počáteční podmínka nastavena na hodnotu true, i se vytiskne a poté se zvýší v první iteraci. Od podmínky (já <=5) vyhodnotí jako nepravda během druhé iterace, smyčka se ukončí.
  2. Před kontrolou podmínky proveďte jednou tělo smyčky.
    já:= 10

    pro {
    fmt.Println(i)
    i++

    kdybych >= 5 {
    přestávka;
    }
    }

    // Vytiskne 10

    Ve smyčce for výše se nejprve vytiskne 10, což je hodnota i, a poté se provede příkaz if. Pokud je podmínka pravdivá, smyčka se přeruší, jinak smyčka pokračuje.

Další prohlášení o kontrolním toku

Smyčky v programování jsou důležité, protože zjednodušují opakující se úkoly a šetří čas. Místo desetinásobného psaní řádku kódu můžete jednoduše vytvořit smyčku, která běží desetkrát. Další příkazy řídicího toku jsou if, if...else, if...else if...if a příkazy switch.

Co je nového v Go verze 1.18

Přečtěte si další

PodíltweetPodílE-mailem

Související témata

  • Programování
  • Programování

O autorovi

Mary Gathoni (22 zveřejněných článků)

Mary Gathoni je vývojář softwaru s vášní pro vytváření technického obsahu, který je nejen informativní, ale také poutavý. Když zrovna nekóduje nebo nepíše, ráda se poflakuje s přáteli a je venku.

Více od Mary Gathoni

Přihlaste se k odběru našeho newsletteru

Připojte se k našemu zpravodaji a získejte technické tipy, recenze, bezplatné e-knihy a exkluzivní nabídky!

Chcete-li se přihlásit k odběru, klikněte sem