Zum Hauptinhalt springen
Veröffentlicht am

Die for-Schleife in Go

Teilen:

Einführung

Die for-Schleife ist eine der grundlegendsten Kontrollstrukturen in jeder Programmiersprache. In Go bietet sie Flexibilität und Leistungsfähigkeit, die sich an eine Vielzahl von Situationen anpassen lassen.

Grundkomponenten der for-Schleife

Die for-Schleife in Go kann in drei Hauptvarianten auftreten:

  1. Zählerbasiert: Wie in vielen anderen Sprachen kann man eine Initialisierung, eine Bedingung und einen Nachverarbeitungsschritt definieren.
  2. Bedingungsbasiert: Hier wird nur eine Bedingung angegeben. Ähnlich wie ein while in anderen Sprachen.
  3. Range: Diese Variante ermöglicht das Iterieren über Slices, Arrays und andere iterierbare Datentypen.

Beispiele

// Zählerbasiert
for i := 0; i < 10; i++ {
  fmt.Println(i)
}

// Bedingungsbasiert
j := 0

for j < 10 {
  fmt.Println(j)
  j++
}

// Range
obstsorten := []string{"Apfel", "Banane", "Kirsche"}

for index, obstsorte := range obstsorten {
  fmt.Printf("obstsorten[%d]: %s\n", index, obstsorte)
}

Vorsicht vor Endlosschleifen

Wie erwähnt, ist es unerlässlich, sich der Möglichkeit bewusst zu sein, Endlosschleifen zu erstellen. Überprüfe stets die Bedingungen deiner Schleife und stelle sicher, dass es eine Abbruchbedingung gibt.

// Ein Beispiel für eine Endlosschleife. Führe diesen Code nicht aus!

/*
for {
  fmt.Println("Dies ist eine Endlosschleife!")
}
*/

Erweiterte Varianten

Es ist möglich, die Varianten der for-Schleife auf kreative Weise zu kombinieren, um unterschiedliche Anforderungen zu erfüllen. Beispielsweise kann man eine bedingungsbasierte Variante verwenden, um Slices auf Basis spezifischer Geschäftslogik zu durchlaufen.

obstsorten := []string{"Apfel", "Banane", "Kirsche"}
index := 0

for index < len(obstsorten) {
  fmt.Println(obstsorten[index])
  index += 2 // Jede zweite Obstsorte überspringen
}

Fazit

Die for-Schleife ist ein vielseitiges und unverzichtbares Werkzeug im Arsenal jedes Go-Programmierers. Ob du einfache Aufgaben erledigst oder komplexe Algorithmen implementierst – die Fähigkeit, den Ausführungsfluss zu steuern, ist von unschätzbarem Wert.

Happy coding!