Range sur types natifs
Contexte
Section intitulée « Contexte »Le mot‑clé range permet d’itérer sur des slices, des tableaux, des maps, des chaînes (runes) et des canaux. Il retourne un ou deux indices selon le type.
- Slices/tableaux :
index, valeur - Maps :
clé, valeur - Chaînes :
position (en octets), rune - Canaux :
valeur(un seul paramètre)
Parcourir une slice, une map et une chaîne.
Code exemple
Section intitulée « Code exemple »package main
import "fmt"
func main() { // Slice nums := []int{2, 4, 6} for i, v := range nums { fmt.Printf("index=%d, valeur=%d\n", i, v) }
// Map couleurs := map[string]string{"rouge": "#FF0000", "vert": "#00FF00"} for cle, valeur := range couleurs { fmt.Printf("%s -> %s\n", cle, valeur) }
// Chaîne (rune par rune) for pos, r := range "Hello, 世界" { fmt.Printf("%d: %c\n", pos, r) }}index=0, valeur=2index=1, valeur=4index=2, valeur=6rouge -> #FF0000vert -> #00FF000: H1: e2: l3: l4: o5: ,6:7: 世10: 界