English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Le istruzioni di controllo dei cicli nel Go linguaggio sono utilizzate per modificare l'esecuzione del programma. Quando l'esecuzione del ciclo lascia la sua sfera di validità, gli oggetti creati nella sfera di validità vengono distrutti. Il linguaggio Go supporta 3 tipi di istruzioni di controllo dei cicli:
Break
Goto
Continue
L'istruzione break viene utilizzata per terminare il ciclo o l'istruzione in cui si trova. Dopo di che, il controllo viene trasferito all'istruzione successiva all'istruzione break (se presente). Se l'istruzione break è presente in un ciclo annidato, termina solo quei cicli che contengono l'istruzione break.
Diagramma di flusso:
package main import "fmt" func main() { for i:=0; i<5; i++{ fmt.Println(i) //Il ciclo for si interrompe quando i = 3 if i == 3{ break; } } }
Output:
0 1 2 3
Questa istruzione viene utilizzata per trasferire il controllo a un'istruzione di etichetta nel programma. Un etichetta è un identificatore valido, posizionato prima dell'istruzione di trasferimento di controllo. Poiché è difficile tracciare il flusso di controllo del programma, gli sviluppatori di solito non utilizzano le istruzioni goto.
Diagramma di flusso:
package main import "fmt" func main() { var x int = 0 //Il funzionamento del ciclo for è lo stesso del ciclo while Lable1: for x < 8 { if x == 5 { //Utilizzo dell'istruzione goto x = x + 1; goto Lable1 } fmt.Printf("Valore: %d\n", x); x++; } }
Output:
Valore: 0 Valore: 1 Valore: 2 Valore: 3 Valore: 4 Valore: 6 Valore: 7
Questa istruzione viene utilizzata per saltare la parte di esecuzione del ciclo in condizioni specifiche. Dopo di che, il controllo viene trasferito all'inizio del ciclo. Sostanzialmente, salta le seguenti istruzioni e continua con l'iterazione successiva del ciclo.
Diagramma di flusso:
package main import "fmt" func main() { var x int = 0 //Il funzionamento del ciclo for è lo stesso del ciclo while for x < 8 { if x == 5 { //Salta due iterazioni x = x + 2 continue } fmt.Printf("Valore: %d\n", x) x++ } }
Output:
Valore: 0 Valore: 1 Valore: 2 Valore: 3 Valore: 4 Valore: 7