# Range

<p class="callout info">C'est la continuité du `for`, il permet d'itérer sur une collection de donnée</p>

## Syntaxe

```go
for <index>, <value> := <dataset> {
	//code
}

```

## Exemple

```go
names := []string{"Bob", "Alice", "Bobette", "John"}
	for i, n := range names {
		fmt.Printf("Username=%s (index=%d)\n", n, i)
	}

	// range on string
	// Omit index / value
	for _, c := range "golang" {
		fmt.Printf("%v\n", string(c))
	}

```