capypad
0 Tage Serie
go / beginner
Snippet

Range-Iteration über Slices

Das `range` Schlüsselwort iteriert über Slices und Maps. Es gibt zwei Werte zurück: Index und Element. Der Unterstrich `_` wird verwendet, wenn man einen Wert nicht benötigt, und teilt Go mit, ihn zu verwerfen.

snippet.go
go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package main
 
import "fmt"
 
func main() {
fruits := []string{"apple", "banana", "cherry"}
for index, fruit := range fruits {
fmt.Printf("%d: %s\n", index, fruit)
}
// Using underscore to ignore index
for _, fruit := range fruits {
fmt.Println(fruit)
}
}
Erklärung
1
for index, fruit := range fruits
Range gibt Index und Wert für jedes Element im Slice zurück
2
fmt.Printf("%d: %s\n", index, fruit)
Gibt formatierte Zeichenkette mit Index als %d und String als %s aus
3
for _, fruit := range fruits
Unterstrich verwirft den Index, behält nur den Wert