GoErste Schritte mit Go

Bemerkungen

Go ist eine kompilierte, statisch typisierte Open-Source-Sprache in der Tradition von Algol und C. Sie verfügt über Funktionen wie Speicherbereinigung, begrenzte strukturelle Typisierung, Speichersicherheitsfunktionen und benutzerfreundliche CSP- Stil-Programmierung.

Versionen

Die neueste Hauptversion ist unten in Fettdruck dargestellt. Den vollständigen Versionsverlauf finden Sie hier .

Ausführung Veröffentlichungsdatum
1.8.3 2017-05-24
1.8.0 2017-02-16
1.7.0 2016-08-15
1.6.0 2016-02-17
1.5.0 2015-08-19
1.4.0 2014-12-04
1.3.0 2014-06-18
1.2.0 2013-12-01
1.1.0 2013-05-13
1.0.0 2012-03-28

Hallo Welt!

hello.go den folgenden Code in einen Dateinamen hello.go :

package main

import "fmt"

func main() {
    fmt.Println("Hello, 世界")
}

Spielplatz

Wenn Go korrekt installiert ist , kann dieses Programm folgendermaßen kompiliert und ausgeführt werden:

go run hello.go

Ausgabe:

Hello, 世界

Wenn Sie mit dem Code zufrieden sind, können Sie ihn zu einer ausführbaren Datei kompilieren, indem Sie Folgendes ausführen:

go build hello.go

Dadurch wird im aktuellen Verzeichnis eine für Ihr Betriebssystem geeignete ausführbare Datei erstellt, die Sie dann mit dem folgenden Befehl ausführen können:

Linux, OSX und andere Unix-ähnliche Systeme

./hello

Windows

hello.exe

Hinweis : Die chinesischen Zeichen sind wichtig, da sie zeigen, dass Go-Zeichenfolgen als schreibgeschützte Byte-Segmente gespeichert werden.

FizzBuzz

Ein anderes Beispiel für "Hello World" -Stilprogramme ist FizzBuzz . Dies ist ein Beispiel für eine FizzBuzz-Implementierung. Sehr idiomatisch Gehen Sie hier ins Spiel.

package main

// Simple fizzbuzz implementation

import "fmt"

func main() {
    for i := 1; i <= 100; i++ {
        s := ""       
        if i % 3 == 0 {
            s += "Fizz"
        }
        if i % 5 == 0 {
            s += "Buzz"
        }
        if s != "" {
            fmt.Println(s) 
        } else {
            fmt.Println(i) 
        }
    }
}

Spielplatz

Go-Umgebungsvariablen auflisten

Umgebungsvariablen, die das go Tool beeinflussen, können mit dem Befehl go env [var ...] angezeigt werden:

$ go env
GOARCH="amd64"
GOBIN="/home/yourname/bin"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/yourname"
GORACE=""
GOROOT="/usr/lib/go"
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build059426571=/tmp/go-build -gno-record-gcc-switches"
CXX="g++"
CGO_ENABLED="1"

Standardmäßig wird die Liste als Shell-Skript gedruckt. Wenn jedoch ein oder mehrere Variablennamen als Argumente angegeben werden, wird der Wert jeder benannten Variablen ausgegeben.

$go env GOOS GOPATH
linux
/home/yourname

Umgebung einrichten

Wenn Go in Ihrem System nicht vorinstalliert ist, können Sie unter https://golang.org/dl/ die Plattform auswählen, in der Go heruntergeladen und installiert werden soll.

Um eine grundlegende Go-Entwicklungsumgebung einzurichten, müssen nur einige der vielen Umgebungsvariablen festgelegt werden, die das Verhalten des go Tools beeinflussen (siehe: Auflisten der Go-Umgebungsvariablen für eine vollständige Liste) (im Allgemeinen in ~/.profile Ihrer Shell) Datei oder gleichwertig auf Unix-ähnlichen Betriebssystemen).

GOPATH

Wie auch die Umgebungsvariable PATH des Systems ist Go path eine : ( ; unter Windows) getrennte Liste von Verzeichnissen, in denen Go nach Paketen sucht. Das go get Tool lädt auch Pakete in das erste Verzeichnis in dieser Liste.

In GOPATH Go die zugehörigen Ordner bin , pkg und src für den Arbeitsbereich eingerichtet:

  • src - Speicherort der Quelldateien: .go , .c , .g , .s
  • pkg - hat .a Dateien kompiliert
  • bin - enthält ausführbare Dateien, die von Go erstellt wurden

Ab Go 1.8 hat die Umgebungsvariable GOPATH einen Standardwert, wenn sie nicht festgelegt ist. Der Standardwert ist $ HOME / go unter Unix / Linux und% USERPROFILE% / go unter Windows.

Einige Tools setzen voraus, dass GOPATH ein einzelnes Verzeichnis enthält.

GOBIN

Das Verzeichnis ist , wo go install und go get werden Binärdateien legen nach dem Aufbau main Paketen. Im Allgemeinen ist dies auf irgendwo auf dem Systempfad PATH sodass installierte Binärdateien problemlos ausgeführt und erkannt werden können.

GOROOT

Dies ist der Ort Ihrer Go-Installation. Es wird verwendet, um die Standardbibliotheken zu finden. Es ist sehr selten, dass Sie diese Variable festlegen müssen, da Go den Build-Pfad in die Toolchain einbettet. Die Einstellung von GOROOT ist erforderlich, wenn sich das Installationsverzeichnis vom Build-Verzeichnis (oder dem beim Erstellen festgelegten Wert) unterscheidet.

Offline-Zugriff auf die Dokumentation

Führen Sie für die vollständige Dokumentation den Befehl aus:

godoc -http=:<port-number>

Für eine Tour von Go (sehr empfehlenswert für Anfänger in der Sprache):

go tool tour

Mit den beiden obigen Befehlen werden Webserver mit einer Dokumentation gestartet, die der hier und hier jeweils im Internet verfügbaren ähnelt.

Für eine schnelle Referenzprüfung in der Befehlszeile, z. B. für fmt.Print:

godoc cmd/fmt Print
# or
go doc fmt Print

Allgemeine Hilfe ist auch über die Befehlszeile verfügbar:

go help [command]

Laufen Online gehen

Der Spielplatz

Ein wenig bekanntes Go-Tool ist The Go Playground . Wenn Sie mit Go experimentieren möchten, ohne es herunterzuladen, können Sie dies einfach mit tun. . .

  1. Besuch des Spielplatzes in ihrem Webbrowser
  2. Code eingeben
  3. Klicken Sie auf "Ausführen".

Teilen Sie Ihren Code

Auf dem Go Playground stehen auch Tools zum Teilen zur Verfügung. Wenn ein Benutzer auf die Schaltfläche "Teilen" klickt, wird ein Link (wie dieser ) generiert, der an andere Personen zum Testen und Bearbeiten gesendet wird.

In Aktion

Der Go Playground in Aktion