Kleine Änderungen
Das unsafe-Paket bekommt die drei Funktionen SliceData, String und StringData, die es Entwicklern ermöglichen, ohne Wissen über die internen Datenstrukturen direkt auf die Daten von Strings und Slices zuzugreifen. Bisher war dafür eine fehleranfällige Konvertierung in reflect.StringHeader oder reflect.SliceHeader notwendig.
Die Spezifikation legt nun fest, wie Implementierungen von Go zwei Structs oder Arrays vergleichen. Die einzelnen Felder oder Elemente werden in der Reihenfolge verglichen, in der sie im Quellcode definiert wurden. Außerdem wurde klargestellt, dass der Vergleich nur bis zum ersten Unterschied erfolgt und dass nicht immer die komplette Datenstruktur durchlaufen werden muss.
Go schaltet jetzt automatisch die CGo-Unterstützung ein, wenn auf dem System keine C-Toolchain installiert ist.
Ports
Go 1.20 hat nun experimentelle Unterstützung für FreeBSD auf RISC-V Chips. Außerdem weist das Team darauf hin, dass Go 1.20 die letzte Version mit Unterstützung für Windows 7, Windows 8, Windows Server 2008, Windows Server 2012, MacOS 10.13 und MacOS 10.14 wird. Ältere Versionen der genannten Systeme werden schon länger nicht mehr unterstützt.
Es ist jedoch weiterhin möglich, dass mit neueren Versionen von Go gebaute Programme auf älteren Betriebssystemversionen laufen. Das Team führt diesbezüglich nur keine Tests mehr durch.
Alte Zöpfe
Bisher war zum Bauen einer neuen Go-Version mindestens Version 1.4 erforderlich (die "Bootstrap-Version"). Go 1.4 war die letzte Version, bei der der Compiler selbst in C geschrieben war. Das Go-Team patchte diese Version noch notdürftig, um sie mit aktuellen C-Compilern kompatibel zu halten.
Zum Bauen der aktuellen Version war somit nur eine Zwischenversion erforderlich. Damit ist Schluss. Go 1.20 setzt Version 1.17 voraus. Das Build-Skript prüft die Version automatisch und verweigert den Dienst, falls diese zu alt ist. Ab sofort soll die Bootstrap-Version jedes Jahr angehoben werden, um dem Go-Team schnelleren Zugriff auf neue Features zu ermöglichen.
Kompatibilität
Wie immer wurden viele kleinere Änderungen an den Paketen vorgenommen. Weiterhin ist der Compiler aber mit Go 1.0 kompatibel, alte Programme lassen sich ohne Probleme mit der neuen Version bauen.Nachtrag vom 1. Februar 2023, 17:44 Uhr
Die Go-Version 1.20 ist erschienen und kann hier heruntergeladen werden.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Laufzeit-Überprüfung von comparable Constraints |
Wenn der Anwendungsfall ein einfacher ETL-Prozess ist, wo Daten von Bib A an Bib B...
Kommentieren