Aller - Gamme

le range le mot-clé est utilisé dans forboucle pour parcourir les éléments d'un tableau, d'une tranche, d'un canal ou d'une carte. Avec un tableau et des tranches, il renvoie l'index de l'élément sous forme d'entier. Avec les cartes, il renvoie la clé de la prochaine paire clé-valeur. Range renvoie une ou deux valeurs. Si une seule valeur est utilisée à gauche d'une expression de plage, il s'agit de la première valeur du tableau suivant.

Expression de plage 1ère valeur 2e valeur (facultatif)
Tableau ou tranche a [n] E index i int a [i] E
Type de chaîne de chaîne index i int rune int
carte m carte [K] V clé k K valeur m [k] V
canal c chan E élément e E aucun

Exemple

Le paragraphe suivant montre comment utiliser range -

package main

import "fmt"

func main() {
   /* create a slice */
   numbers := []int{0,1,2,3,4,5,6,7,8} 
   
   /* print the numbers */
   for i:= range numbers {
      fmt.Println("Slice item",i,"is",numbers[i])
   }
   
   /* create a map*/
   countryCapitalMap := map[string] string {"France":"Paris","Italy":"Rome","Japan":"Tokyo"}
   
   /* print map using keys*/
   for country := range countryCapitalMap {
      fmt.Println("Capital of",country,"is",countryCapitalMap[country])
   }
   
   /* print map using key-value*/
   for country,capital := range countryCapitalMap {
      fmt.Println("Capital of",country,"is",capital)
   }
}

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -

Slice item 0 is 0
Slice item 1 is 1
Slice item 2 is 2
Slice item 3 is 3
Slice item 4 is 4
Slice item 5 is 5
Slice item 6 is 6
Slice item 7 is 7
Slice item 8 is 8
Capital of France is Paris
Capital of Italy is Rome
Capital of Japan is Tokyo
Capital of France is Paris
Capital of Italy is Rome
Capital of Japan is Tokyo