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++
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.
- Ujistěte se, že podmínka pro první iteraci je nastavena na hodnotu true.
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čí.já:= 10
pro další := skutečný; další; další = i <= 5 {
fmt.Println(i)
i++
}// Vytiskne 10
- Před kontrolou podmínky proveďte jednou tělo smyčky.
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.já:= 10
pro {
fmt.Println(i)
i++kdybych >= 5 {
přestávka;
}
}// Vytiskne 10
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ší
Související témata
- Programování
- Programování
O autorovi
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.
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