Pubblicita'
Guida Linguaggio Google Go : strutture iterative
-
Dopo una piccola introduzione sulle strutture condizionali, adesso focalizziamo l’attenzione su altri tipi di strutture, ovvero quelle iterative.
Guardando bene le specifiche del linguaggio, stavolta non troviamo varie strutture come il while e il do-while, ma troviamo solamente la struttura for.
Sicuramente un vantaggio per tutti quei programmatori che stanno a pensare 30 secondi se scegliere un for o un while.La forma base della struttura for è quella conosciuta ed utilizzata da molti linguaggi :
for i := 0; i < 5; i++ {
// lista operazioni
}
Sono presenti le solite tre espressioni: inizializzazione, condizione e post-operazioni.
In dettaglio, la prima operazione effettuata è l’inizializzazione e viene chiamata solo una volta prima di tutte le altre operazioni, si ricorda che l’inizializzazione deve essere effettuata tramite dichiarazione di una short variable declaration.
Successivamente viene controllata la condizione, se è è verificata viene eseguito il blocco di codice altrimenti si esce dal ciclo.
Alla fine di ogni esecuzione di un blocco di codice, cioè alla fine di ogni iterazione (ciclo), vengono effettuate le post-operazioni. Queste, al contrario delle operazioni di inizializzazione, vengono effettuate sempre alla fine di ogni ciclo e non solo una volta.E’ possibile omettere una o più espressioni, dando vita ad una nota variante :
for x > y {
// lista operazioni
}
Che dite, ci somiglia ad un while?
Una variante interessante è invece questa che vi riporto di seguito:
var parole [5]string
for index, parola := range parole {
// lista operazioni
}
Nella prima istruzione viene dichiarato un vettore di 5 stringhe utilizzato, per esempio, per contenere delle parole.
Notiamo che nel for è utilizzato il costrutto range che effettua una doppia assegnazione: ad index assegna l’indice corrente del vettore e a parola il corrispondente valore.
Da notare che è una sorta di foreach avanzato e che può essere molto utile in strutture come mappe e liste, che tratteremo in altri articoli.
Vuoi tutti gli aggiornamenti di IbA's Blog in tempo reale? Abbonati ai nostri Feed RSS.



Loading...
















Commenti recenti