Abo
  • IT-Karriere:

Programmiersprache: Go 1.10 cacht besser und baut Brücken zu C

Die Version 1.10 der Sprache Go bringt keine großen Änderungen an der Sprachdefinition mit, baut aber einige Neuerungen in das Build-Kommando ein. Strings lassen sich nun zudem direkt von Go an C weiterleiten, jüngst gebaute Pakete landen aus Leistungsgründen in einem eigenen Cache.

Artikel veröffentlicht am , Kristian Kißling/Linux Magazin
Das Go-Maskottchen ist eine Taschenratte (engl. Gopher).
Das Go-Maskottchen ist eine Taschenratte (engl. Gopher). (Bild: Scott Swigart/Flickr.com/CC-BY-SA 2.0)

Die Version 1.10 der von Google initiierten Programmiersprache Go ist erschienen. Der Cache für die erzeugten Pakete ist nun in das Kommando go build eingebaut, aber auch in go test. Go trennt diesen erzeugten Zwischenspeicher von jenem für installierte Pakete. Der Vorteil davon zeigt sich bei Buildvorgängen: Sie laufen wesentlich schneller ab, wenn sie keine neuen Pakete installieren müssen, oder beim Wechsel zwischen verschiedenen Quellcode-Kopien, etwa in Entwicklungszweigen. Die Schnellbauoption -i macht der neue Cache außerdem überflüssig. Der Befehl go test führt hingegen den vorherigen Test erneut aus und zeigt an, dass die Ergebnisse aus dem Cache stammen. Die Option -count=1 ignoriert den Cache.

Stellenmarkt
  1. Deutsche Forschungsgemeinschaft e.V., Bonn
  2. VNR Verlag für die Deutsche Wirtschaft AG, Bonn

Veraltete Pakete entdeckt das Kommando go build in der neuen Version ebenfalls automatisch. Dazu prüft das Werkzeug die Inhalte der Quelldateien, die Build-Flags und die Metadaten in den kompilierten Paketen. Die Modifikationszeit spielt hingegen keine Rolle mehr, Builds wissen jetzt automatisch, wenn ein Paket neu gebaut werden muss.

Die Optionen -asmflags, -gcflags, -gccgoflags und -ldflags für das Kommando go build wirken sich jetzt nur noch auf die in der Kommandozeile angegebenen Pakete aus, nicht mehr zusätzlich auf die davon abhängigen Pakete. Um Pakete nach einem bestimmten Muster zu treffen, muss eine neue Form gewählt werden: -asmflags=pattern=flags. Dies funktioniert analog auch mit den anderen erwähnten Flags. Mehr Details verrät go help build. Ähnlich verhält es sich übrigens mit go install, das nun auch nur noch die auf der Kommandozeile explizit erwähnten Pakete und Kommandos installiert.

Intelligentere Umgebungsvariablen

In Go 1.10 lässt sich eine neue Umgebungsvariable, $GOTMPDIR, setzen, um temporäre Dateien in einem anderen Ordner als dem temporären Verzeichnis des Systems zu erzeugen. Ist keine $GOROOT-Variable gesetzt, versucht das Tool nun zunächst, den $GOROOT-Pfad selbst aufzuspüren. Dadurch lassen sich Binärdistributionen überall im Dateisystem entpacken, auch ohne zuvor $GOROOT zu setzen.

Wer C-Code schreibt, kann nun in der C-Präambel über _GoString_ auf Stringwerte in seinem Go-Programm zugreifen. _GoStringLen und _GoStringPtr erlauben den direkten Zugriff auf Inhalte des Strings. Ein _GoString_-Wert lässt sich zudem an eine Go-Funktion weiterreichen, die Strings akzeptiert. Weitere Details zu Cgo und zu den weiteren Änderungen an der neuen Version verrät die Release-Mitteilung.



Anzeige
Top-Angebote
  1. (aktuell u. a. Icy Box Mulitkartenleser für 12,99€, Cooler Master Master Mouse für 24,99€)
  2. 99,00€
  3. GRATIS
  4. (u. a. Star Wars, Architecture und Minecraft)

Der schwarze... 20. Feb 2018

So ein Unfug. Wenn du deine Programme nicht auf diese Umgebung entsprechend anpasst...

\pub\bash0r 20. Feb 2018

Puh, gut, dass das die ganzen Unternehmen noch nicht gemerkt haben, die es erfolgreich...

Tigtor 19. Feb 2018

Siehste mal. Wobei letzteres nur ein Tippfehler war. Aber mit Wall fühle ich mich...


Folgen Sie uns
       


Geräuschunterdrückung von drei ANC-Kopfhörern im Vergleich

Wir haben den neuen ANC-Kopfhörer von Audio Technica gegen die Konkurrenz von Bose und Sony antreten lassen. Im Video sind die Unterschiede bei der ANC-Leistung zwischen dem ATH-ANC900BT, dem Quiet Comfort 35 II und dem WH-1000XM3 deutlich hörbar.

Geräuschunterdrückung von drei ANC-Kopfhörern im Vergleich Video aufrufen
Zulassung autonomer Autos: Der Mensch fährt besser als gedacht
Zulassung autonomer Autos
Der Mensch fährt besser als gedacht

Mehrere Jahre haben Wissenschaftler und Autokonzerne an Testverfahren für einen Autobahnpiloten geforscht. Die Ergebnisse sprechen für den umfangreichen Einsatz von Simulation. Und gegen den schnellen Einsatz der Technik.
Von Friedhelm Greis

  1. Autonomes Fahren US-Post testet Überlandfahrten ohne Fahrer
  2. Mercedes-Sicherheitsstudie Wenn das Warndreieck autonom aus dem Auto fährt
  3. Einride T-Pod Autonomer Lkw fährt in Schweden Waren aus

Bethesda: Ich habe TES Blades für 5,50 Euro durchgespielt
Bethesda
Ich habe TES Blades für 5,50 Euro durchgespielt

Rund sechs Wochen lang hatte ich täglich viele spaßige und auch einige frustrierende Erlebnisse in Tamriel: Mittlerweile habe ich den Hexenkönig in TES Blades besiegt - ohne dafür teuer bezahlen zu müssen.
Ein Bericht von Marc Sauter

  1. Bethesda TES Blades erhält mehr Story-Inhalte und besseres Balancing
  2. Bethesda TES Blades ist für alle verfügbar
  3. TES Blades im Test Tolles Tamriel trollt

Bundestagsanhörung: Beim NetzDG drohen erste Bußgelder
Bundestagsanhörung
Beim NetzDG drohen erste Bußgelder

Aufgrund des Netzwerkdurchsetzungsgesetzes laufen mittlerweile über 70 Verfahren gegen Betreiber sozialer Netzwerke. Das erklärte der zuständige Behördenchef bei einer Anhörung im Bundestag. Die Regeln gegen Hass und Hetze auf Facebook & Co. entzweien nach wie vor die Expertenwelt.
Ein Bericht von Justus Staufburg

  1. NetzDG Grüne halten Löschberichte für "trügerisch unspektakulär"
  2. NetzDG Justizministerium sieht Gesetz gegen Hass im Netz als Erfolg
  3. Virtuelles Hausrecht Facebook muss beim Löschen Meinungsfreiheit beachten

    •  /