Go 1.13 macht TLS 1.3 zum Standard, unterstützt Android 10

Go 1.13 ist kompatibel mit Android 10, aktiviert TLS 1.3 standardmäßig, bringt eine Handvoll neuer Umgebungsvariablen mit und aktualisiert Präfixe für verschiedene Literale.

Laut den Release Notes unterstützt Go nun ein “modernisiertes Set” an Präfixen für Nummern-Literale. So verweist der Präfix “0b” oder “0B” auf ein binäres Integer-Literal wie “0b1011”. Weiterhin bietet Go 1.13 Präfixe für oktale Integer-Literale (“0o” und “0O”) und für hexadezimale Floating-Point-Literale (“0x” und “0X”) an. Der Suffix “i” für imaginäre Literale lässt sich nun auch mit binären, dezimalen und hexadezimalen Integer und Floating Point Literalen verwenden. Zudem gruppieren Entwickler die Ziffern in Nummern-Literalen nun über Unterstriche.

Weitere Änderungen an der Sprache betreffen den Shift Count, der nun auch vorzeichenbehaftet sein darf. Die Entwickler dürfen in der Folge auf Workarounds mit “uint”-Konvertierungen verzichten, wenn sie mit “<<“- und “>>”-Operatoren arbeiten.

Umgebungsvariablen

Wie anfangs erwähnt warten auch Änderungen bei den Umgebungsvariablen. So bleibt der Standardwert für “GO111MODULE” zwar bei “auto”, aber Go aktiviert den Modulerkennungs-Modus, sobald das aktuelle oder das übergeordnete Verzeichnis eine “go.mod”-Datei enthalten. “GOPRIVATE” verweist auf nicht-öffentliche Modulpfade. “GOPROXY” darf der Entwickler nun eine komma-separierte Liste an URLS mitgeben, Standardwert ist aber “direct”. “GOSUMDB” identifiziert den Namen und optional den öffentlichen Schlüssel und die Server-URL der Datenbank, um die Checksummen von Modulen nachzuschlagen, die nicht in der “go.sum”-Datei des Hauptmoduls stehen. Änderungen an “go get” führen dazu, dass Go beim Einsatz des Parameters “-u” ein kleineres Set an Modulen aktualisiert als bisher.

“go env” akzeptiert nun über die Flag “-w” usergebundene Standardwerte für Umgebungsvariablen. Über “-u” lassen sich die gesetzten Werte wieder löschen. “go version” akzeptiert nun Argumente, die ausführbare Dateien und Verzeichnisse benennen. Gibt der Entwickler so einen Namen einer Datei an, zeigt “go version” die Versionsnummer, mit der die ausführbare Datei gebaut wurde.

Krypto-Updates

Nicht zuletzt kommt die Compiler Toolchain besser mit Escape-Sequenzen zurecht, laufen Go-Programme nun auf Android 10 und zum letzten Mal auf Native Client (NaCl). TLS 1.3 ist im Paket “crypto/tls” nun standardmäßig aktiviert. Ein Opt-out ist über “tls13=0” noch möglich, die nächste Go-Version soll das aber entfernen. Zugleich implementiert ein neues Paket “crypto/ed25519” das Ed25519 Signaturschema. Mehr zu den hier erwähnten und weitere Änderungen an Go 1.13 verraten die Release Notes.

E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben