Go 1.15 hält wichtige Änderungen zurück

Mit der Veröffentlichung der Produktionsversion Go 1.14 in diesem Monat geht das Go-Entwicklungsteam davon aus, dass sich die Folgeversion Go 1.15 eher auf kleinere Anpassungen als auf größere Änderungen konzentrieren wird. Go 1.15 soll im August veröffentlicht werden. 

Das Go-Team entschied, dass es besser ist, größere Änderungen zu unterbrechen, bis ein langfristiger Plan ausgearbeitet ist. Stattdessen werden nur drei Vorschläge für Go 1.15 geprüft:

  • string (int)Konvertierung diagnostizieren in go vet. Diese Änderung war ursprünglich für Go 1.14 geplant und behebt die Verwirrung über die  string (int)Konvertierung. Anstatt die Konvertierung zu entfernen, muss im Plan mit einem vetFehler begonnen werden.
  • Diagnostizieren Sie unmögliche Zusicherungen von Schnittstellentypen in go vet.
  • Index- und Slice-Ausdrücke mit konstanter Auswertung mit konstanten Zeichenfolgen und Indizes. Derzeit erzeugt das Indizieren oder Schneiden einer konstanten Zeichenfolge mit einem konstanten Index oder Indizes eine Nichtkonstante byteoder einen stringWert. Wenn die Operanden jedoch konstant sind, kann der Compiler solche Ausdrücke konstant auswerten und ein konstantes, möglicherweise nicht typisiertes Ergebnis erzeugen. Anpassungen werden an der Spezifikation und den Compilern vorgenommen.

In einem kürzlich veröffentlichten Go-Team-Bulletin werden diese Vorschläge für Go 1.1.5 beschrieben und die wichtigsten Ziele für Go insgesamt bekräftigt, darunter Verbesserungen bei der Paket- und Versionsverwaltung, eine bessere Fehlerbehandlung und allgemeine Informationen.

Ein früherer Versuch, die Fehlerbehandlung zu verbessern, der tryVorschlag für eine eingebaute Fehlerprüfungsfunktion, stieß auf starken Widerstand und wurde aufgegeben. Generika wurden als Hauptthema für die Go 2-Version genannt, um parametrischen Polymorphismus mit Typparametern zu ermöglichen.

Das Team stellte fest, dass die Modulunterstützung in Go in gutem Zustand ist und sich verbessert. Und obwohl Anfragen nach Aufzählungen und unveränderlichen Typen gestellt wurden, wurden diese Ideen noch nicht ausreichend entwickelt oder als dringend genug erachtet, um sie weiterzuverfolgen.