Programmiersprache: Go 1.14 erscheint mit stabilem Modulsystem

Die aktuelle Version 1.14 von Go löst Abhängigkeiten einfacher auf und erlaubt das störungsfreie Einbetten von Schnittstellen, deren Methoden sich überschneiden. Ebenso kann nun ein unsicheres Go definiert werden.

Artikel veröffentlicht am , Kristian Kißling/Linux Magazin
Die Taschenratte (engl. Gopher) ist das Maskottchen von Go.
Die Taschenratte (engl. Gopher) ist das Maskottchen von Go. (Bild: Don Owens, flickr.com/CC-BY 2.0)

Die Programmiersprache Go enthält in der nun verfügbaren Version 1.14 mit den Go Modules ein neues System zum Verwalten von Abhängigkeiten. Ein Modul besteht dabei aus mehreren Paketen, die in einem Verzeichnis liegen und die durch die Datei go.mod verwaltet werden. In dieser kann unter anderem der Pfad zum Modul und zu den darin enthaltenen Abhängigkeiten definiert werden. Diese Abhängigkeiten wiederum listet die Datei einzeln mit Pfadnamen und Versionsnummern (Semver) auf.

Stellenmarkt
  1. IT Operations Engineer (m/w/d)
    PTV Group, Karlsruhe
  2. Referent für Projektmanagement mit Fokus Terminplanung und Projektsteuerung (m/w/d)
    TenneT TSO GmbH, Bayreuth
Detailsuche

Der Kommandozeilenbefehl go kommt bereits seit Go 1.11 mit dem neuen Modulsystem zum Auflösen von Abhängigkeiten klar. Davor liefen Importe über GOPATH. Doch erst ab der aktuellen Version deklarieren die Entwickler das Modulsystem als hinreichend stabil für den breiten Einsatz. Die Go-Entwickler betrachten es damit als produktionsreif und rufen die Nutzer auf, ab Version 1.14 auf das neue System zu wechseln.

Ebenfalls neu ist die Möglichkeit, Interfaces auch dann einzubetten, wenn ihre Methoden mit denen von übergeordneten Interfaces überlappen. Das heißt, die eingebetteten Interface-Methoden dürfen dieselben Namen und identische Signaturen tragen. Explizit deklarierte Methoden eines Interfaces müssen allerdings weiterhin Unikate bleiben.

Gewollt unsicher

Eine neu eingeführte Umgebungsvariable heißt GOINSECURE. Sie lässt sich dem go-Befehl übergeben und signalisiert, dass Go kein HTTPS benötigt und auch keine Zertifkate validieren muss, wenn es bestimmt Module lädt. Eine durch Kommata unterteilte Liste mit Glob-Patterns bildet den Wert für GOINSECURE. Potenziell öffnet GOINSECURE allerdings Sicherheitslücken. Entwickler sollten also genau wissen, wann und wie sie die Variable einsetzen.

Golem Akademie
  1. Masterclass: Data Science mit Pandas & Python
    9./10. September 2021, online
  2. Einführung in die Programmierung mit Rust
    21.-24. September 2021, online
Weitere IT-Trainings

Auch in der Laufzeitumgebung gibt es mit Version 1.14 Änderungen. Der Einsatz des Keywords defer erzeugt so gut wie keinen Overhead mehr im Vergleich zum bisherigen Ansatz. Der bestand darin, die verzögerte Funktion direkt aufzurufen. Damit lässt sich defer laut den Release Notes auch in Performance-kritischen Code einbetten.

Goroutines lassen sich nun zudem asynchron unterbrechen. Dadurch erzeugen Schleifen ohne Funktionsaufrufe keine Deadlocks mehr oder verzögern die Garbage Collection. Unter Linux führen die gewollten Unterbrechungen (Preemption) aber unter Umständen dazu, dass Programme, die mit Go 1.14 laufen, beim Ausführen mehr Signale erhalten.

Verwenden Entwickler Pakete wie syscall oder golang.org/x/sys/unix, könnte deshalb die Fehlermeldung EINTR bei langsamen Syscalls häufiger auftauchen. Die Go-Macher schlagen Schleifen vor, um die Systemaufrufe wiederholt aufzurufen. Über weitere Änderungen an Go 1.14 informiert die Ankündigung.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Aktuell auf der Startseite von Golem.de
Hubble
Uralttechnik ohne Ersatz versagt im Orbit

Das Hubble-Teleskop ist außer Betrieb. Die Speicherbänke aus den 1980er Jahren lassen sich nicht mit der CPU von 1974 ansprechen, die auf einer Platine zusammengelötet wurde.
Von Frank Wunderlich-Pfeiffer

Hubble: Uralttechnik ohne Ersatz versagt im Orbit
Artikel
  1. Batteriezellfabrik: Porsche will Hochleistungsakkus mit Silizium-Anoden bauen
    Batteriezellfabrik
    Porsche will Hochleistungsakkus mit Silizium-Anoden bauen

    Akkus für nur 1.000 Elektroautos im Jahr will Porsche mit der neuen Tochterfirma Cellforce bauen. Vor allem für den Motorsport.

  2. Pornografie: Hostprovider soll Xhamster sperren
    Pornografie
    Hostprovider soll Xhamster sperren

    Medienwächter haben den Hostprovider von Xhamster ausfindig gemacht. Dieser soll das Pornoportal für deutsche Nutzer sperren.

  3. SSDs und Monitore zum Knallerpreis beim Amazon Prime Day
     
    SSDs und Monitore zum Knallerpreis beim Amazon Prime Day

    Wer auf der Suche nach neuer Hardware ist, sollte den Prime Day von Amazon nutzen. Hier warten Rabatte auf alle möglichen Artikel.
    Ausgewählte Angebote des E-Commerce-Teams

sicn 27. Feb 2020

Ich arbeite bei einer Firma die auch "Managed Hosting" (vornehmlich auf Basis von...


Folgen Sie uns
       


Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Schnäppchen • Amazon Prime Day • SSDs (u. a. Crucial MX500 1TB 75,04€) • Gaming-Monitore • RAM von Crucial • Fire TV Stick 4K 28,99€/Lite 18,99€ • Bosch Professional • Dualsense + Pulse 3D Headset 139,99€ • Gaming-Chairs von Razer uvm. • HyperX Cloud II 51,29€ • iPhone 12 128GB 769€ • TV OLED & QLED [Werbung]
    •  /