Go 1.22 behebt langjähriges Problem mit for-Schleifen
Das Update der Programmiersprache Go auf Version 1.22 setzt auf Performance, behebt einen for-Schleifen-Bug und nimmt Ă„nderungen an Standardbibliothek vor.

(Bild: The Viz / Shutterstock.com)
Für die Programmiersprache Go liegt mit Version 1.22 ein Update vor. Damit hält das Entwicklerteam den halbjährlichen Veröffentlichungszyklus ein. Inhalt des Updates ist neben dem Beheben eines Problems mit for-
Schleifen die neu integrierte UnterstĂĽtzung fĂĽr das Durchlaufen von Ganzzahlen. Zudem gibt es Neuerungen in der Standardbibliothek.
Go 1.22 löst Probleme mit for-Schleifen
Go 1.22 behebt das langjährige Problem in der for
-Schleife, das zu unbeabsichtigter gemeinsamer Nutzung von Schleifenvariablen zwischen Iterationen führte. Im Ankündigungsbeitrag der Go-Entwickler findet sich ein Code-Beispiel, das die Lösung demonstriert, indem es a
, b
und c
in einer beliebigen Reihenfolge ausgibt.
func main() {
done := make(chan bool)
values := []string{"a", "b", "c"}
for _, v := range values {
go func() {
fmt.Println(v)
done <- true
}()
}
// wait for all goroutines to complete before exiting
for _ = range values {
<-done
}
}
Weitere Einzelheiten und Werkzeuge zur Vermeidung von Code-Brüchen erläutern sie in einem früheren Blogbeitrag zur Schleifenvariablen.
Performance und Neues fĂĽr Standardbibliothek
Das Entwicklerteam hinter der Programmiersprache hat Speicheroptimierungen an der Go-Laufzeitumgebung vorgenommen, die die CPU-Leistung um ein bis drei Prozent verbessern. Sie sollen auĂźerdem den Speicher-Overhead der meisten Go-Programme um ein Prozent reduzieren.
Weiterhin bringt das "Minor Update" Ă„nderungen an der Standardbibliothek mit sich. Sie umfassen etwa ein neues math/rand/v2
-Paket mit einer laut Blogbeitrag saubereren und konsistenteren API fĂĽr die Verwendung von Pseudo-Zufallsgenerierungsalgorithmen. Zudem liefert sie Optimierungen an net/http.ServeMux
und fĂĽhrt den Null[T]
-Typ in database/sql
ein.
Weitere Informationen zu Go 1.22 finden sich auf dem The Go Blog.
(mdo)