Menü
Developer

C-Alternative: Programmiersprache Go 1.6 mit HTTP/2-Support veröffentlicht

Googles als C-Alternative vorangetriebene Sprache setzt in der aktuellen Version auf HTTP/2 und soll die Zusammenarbeit von Go- und C-Code verbessern.

Von
vorlesen Drucken Kommentare lesen 89 Beiträge
Go 1.6

Wie erwartet haben die Entwickler der Programmiersprache Go nun Version 1.6 ihres Projekts freigegeben. Nach gut sechs Monaten der Arbeit kann das Update zwar nicht mit ergänzenden Sprachfeatures aufwarten, trotzdem gibt es einige signifikante Neuerungen. So kann etwa das net/http-Paket mit HTTP/2 umgehen, und der Standard lässt sich beim Einsatz von HTTPS auf Server und Client nutzen, sollte nichts anderes vorgegeben sein.

Zudem ist der Support für das in Go 1.5 als experimentell eingeführte "vendor"-Verzeichnis nun regulär freigeschaltet, weshalb Nutzer, die bereits Verzeichnisse mit diesem Namen anders einsetzen, diese umbenennen sollten, um einen lauffähigen Build zu erhalten. Im Template-Paket haben die Entwickler etwa Funktionen zum Entfernen von Leerzeichen um Template-Aktionen herum eingeführt und die Aktion {{block}} integriert. Mit ihr lassen sich Templates als Grundlage für neue Templates nutzen, wie ein Beispielprogramm zeigt.

Sollte in der Laufzeitumgebung nach dem Update auffallen, dass, während eine Goroutine in eine Map schreibt, andere ebenfalls auf sie zugreifen, gibt sie eine Diagnose aus und bringt das Programm zum Absturz. Außerdem haben Compiler, Linker und Go-Befehl unter linux/amd64 nun ein zusätzlichen Flag -msan, das analog zu -race die Zusammenarbeit mit dem Clang Memory Sanitizer ermöglicht. Das ist etwa zum Prüfen von eingebundenem C- oder C++-Code nützlich.

In dem Kontext sei drauf hingewiesen, dass es auch Änderungen beim Teilen von Zeigern zwischen Go- und C-Code gibt. Sie sollen unter anderem sicherstellen, dass C-Code mit der Go Garbage Collection koexistieren kann, weshalb sich das Lesen der Release Notes empfiehlt, um Code bei Bedarf anzupassen. Weitere Neuerungen, die unter anderem Performance-Verbesserungen des sort.Sort-Algorithmus umfassen, sind ebenfalls dort zu finden.

Go ist eine von Google vorangetriebene Sprache, die das Unternehmen 2009 vorstellte. Damals platzierte es Go als C-Alternative. 2015 befreite sich das Projekt dann von letzten C-Überbleibseln im eigenen Code. (jul)