Vai - per Loop

UN forloop è una struttura di controllo della ripetizione. Ti consente di scrivere un ciclo che deve essere eseguito un numero specifico di volte.

Sintassi

La sintassi di for loop nel linguaggio di programmazione Go è -

for [condition |  ( init; condition; increment ) | Range] {
   statement(s);
}

Il flusso di controllo in un file for il ciclo è un segue -

  • Se una condition è disponibile, quindi il ciclo for viene eseguito finché la condizione è vera.

  • Se una for clausola che è ( init; condition; increment ) è presente allora -

    • Il initstep viene eseguito per primo e solo una volta. Questo passaggio consente di dichiarare e inizializzare qualsiasi variabile di controllo del ciclo. Non è necessario inserire una dichiarazione qui, a condizione che venga visualizzato un punto e virgola.

    • Successivamente, il conditionviene valutato. Se è vero, viene eseguito il corpo del ciclo. Se è falso, il corpo del ciclo non viene eseguito e il flusso di controllo salta all'istruzione successiva subito dopofor ciclo continuo.

    • Dopo che il corpo del ciclo for è stato eseguito, il flusso di controllo torna al file incrementdichiarazione. Questa istruzione consente di aggiornare qualsiasi variabile di controllo del ciclo. Questa istruzione può essere lasciata vuota, purché dopo la condizione venga visualizzato un punto e virgola.

    • La condizione viene ora valutata di nuovo. Se è vero, il ciclo viene eseguito e il processo si ripete (corpo del ciclo, quindi incremento del passo e quindi di nuovo la condizione). Dopo che la condizione diventa falsa, il ciclo for termina.

  • Se range è disponibile, quindi il ciclo for viene eseguito per ogni elemento nell'intervallo.

Diagramma di flusso

Esempio

package main

import "fmt"

func main() {
   var b int = 15
   var a int
   numbers := [6]int{1, 2, 3, 5} 

   /* for loop execution */
   for a := 0; a < 10; a++ {
      fmt.Printf("value of a: %d\n", a)
   }
   for a < b {
      a++
      fmt.Printf("value of a: %d\n", a)
   }
   for i,x:= range numbers {
      fmt.Printf("value of x = %d at %d\n", x,i)
   }   
}

Quando il codice precedente viene compilato ed eseguito, produce il seguente risultato:

value of a: 0
value of a: 1
value of a: 2
value of a: 3
value of a: 4
value of a: 5
value of a: 6
value of a: 7
value of a: 8
value of a: 9
value of a: 1
value of a: 2
value of a: 3
value of a: 4
value of a: 5
value of a: 6
value of a: 7
value of a: 8
value of a: 9
value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 15
value of x = 1 at 0
value of x = 2 at 1
value of x = 3 at 2
value of x = 5 at 3
value of x = 0 at 4
value of x = 0 at 5