24.022016

Release von Go 1.6

Letzte Woche wurde die Version 1.6 der von Google Mitarbeitern entwickelten Sprache Go herausgegeben. Auch wenn die Änderungen nicht ganz so dramatisch wie mit dem Vorgänger 1.5 ausfallen, so gibt es nun doch eine Reihe Änderungen, die wir hier kurz anreißen möchten.

9096372497_df818d2e8b_z

Neben vieler kleiner Änderungen springen uns natürlich die folgenden ins Auge:

  • Mit dem neuen Release wird nun HTTP/2 offiziell als Teil des net/http Pakets unterstützt. HTTP/2 wird immer interessanter, da die Browserunterstützung inzwischen alle modernen Desktop-Browser umfasst (solange die Verbindung verschlüsselt wird).
  • Die Template-Engine wurde erweitert, so dass generierter Code nun aufgeräumter ausgegeben wird. Ebenso ist es nun möglich mittels {{block}} Aktionen Templates als Teile anderer Templates wieder zu verwerten
  • Die experimentelle Unterstützung von "vendor"-Verzeichnissen ist nun standardmäßig aktiv
  • Die Laufzeitumgebung wird nun versuchen gleichzeitig lesende und schreibende Zugriffe auf Maps zu erkennen. Tritt dieser Fall auf, so wird das Programm mit einer entsprechenden Meldung beendet
  • cgo wurde erweitert. Insbesondere wurde der Einsatz geteilte Pointer zwischen Go und C Programmen ausgearbeitet.
  • Der Garbage Collector ist nun bei Programmen mit großem Speicherbedarf effizienter.
  • Nicht zuletzt: Die Methode sort.Sort wurde überarbeitet und ist nun etwa 10% schneller. Dies wurde unter anderem dadurch erreicht, dass keine keine stabile Sortierung mehr verwendet wird. Alternativ kann die Methode sort.Stable verwendet werden.

Wie ihr seht: Go wird stetig weiterentwickelt. Wer die Sprache noch nicht kennt kann die neue Version einfach als Anlass nehmen, sich in die Welt stark parallelisierter Programme einzuarbeiten. Ein offizielles interaktives Tutorials findet ihr direkt ihr hier.

Viel Spaß beim Programmieren!