Avatar ·

Wie man in Go einen Bereich von ganzen Zahlen von A bis B durchläuft, ohne ein Slice zu erstellen

Hallo zusammen! Ich habe gerade angefangen, Go nach Python zu lernen, und bin auf ein unerwartetes Problem gestoßen. In Python bin ich es gewohnt, `for i in range(10, 20)` zu schreiben, um einfach die Zahlen von 10 bis 19 zu durchlaufen. In Go habe ich etwas Ähnliches erwartet, aber soweit ich verstanden habe, funktioniert `range` in Go nur mit Slices, Arrays, Strings, Maps und Channels. Ich muss eine einfache Aufgabe erledigen: Zahlen von 1 bis 100 auf dem Bildschirm ausgeben. Ich habe versucht, das so zu schreiben: ```go for i := range 100 { fmt.Println(i) } ``` Aber das hat nicht funktioniert – der Compiler beschwert sich, dass `range` einen Iterator erfordert. Dann habe ich es so versucht: ```go for i := 0; i < 100; i++ { fmt.Println(i) } ``` Das funktioniert, erscheint aber im Vergleich zu Python sehr ausführlich. Heißt das, dass es in Go keine eingebaute Möglichkeit gibt, einfach Zahlen zu durchlaufen? Muss ich jedes Mal die Konstruktion mit Initialisierung, Bedingung und Inkrement schreiben? Was ist, wenn ich Zahlen von 5 bis 15 durchlaufen muss? Oder von 100 bis 1 mit Schrittweite 2? Gibt es wirklich keine elegante Lösung?