Eine umfassende Anleitung zur Einrichtung Ihrer Go-Entwicklungsumgebung
Min-jun Kim
Dev Intern · Leapcell

Go, oft auch Golang genannt, ist eine Open-Source-Programmiersprache, die von Google entwickelt wurde. Sie ist bekannt für ihre Einfachheit, robuste Standardbibliothek, hervorragende Unterstützung für Nebenläufigkeit und starke Leistung, was sie zu einer beliebten Wahl für die Erstellung von Webdiensten, Befehlszeilentools, Netzwerkanwendungen und mehr macht.
Diese Anleitung führt Sie durch den Prozess der Einrichtung einer vollständigen Go-Entwicklungsumgebung auf den drei wichtigsten Betriebssystemen: Windows, macOS und Linux. Wir werden die Installation, Umgebungskonfiguration, wichtige Tools und eine Einführung in Go Modules für modernes Projektmanagement behandeln.
Voraussetzungen
Bevor wir beginnen, stellen Sie sicher, dass Sie Folgendes haben:
- Eine aktive Internetverbindung zum Herunterladen der erforderlichen Dateien.
- Grundlegende Vertrautheit mit der Befehlszeile oder dem Terminal Ihres Betriebssystems.
1. Go installieren
Die offizielle Go-Distribution bietet Installationsprogramme für alle wichtigen Plattformen. Es wird im Allgemeinen empfohlen, die neueste stabile Version von Go zu verwenden. Sie finden die neuesten Downloads auf der offiziellen Go-Website: https://go.dev/dl/.
1.1. Go-Installation überprüfen
Öffnen Sie nach der Installation unter einem beliebigen Betriebssystem Ihr Terminal/Ihre Eingabeaufforderung und führen Sie Folgendes aus:
go version
Sie sollten eine ähnliche Ausgabe wie diese sehen, die die installierte Go-Version angibt:
go version go1.22.2 windows/amd64
1.2. Windows
Option 1: Offizielles MSI-Installationsprogramm (empfohlen)
- Herunterladen: Gehen Sie zu https://go.dev/dl/ und laden Sie das Windows-Installationsprogramm herunter (z. B.
go1.22.2.windows-amd64.msi
). - Installationsprogramm ausführen: Doppelklicken Sie auf die heruntergeladene MSI-Datei.
- Anweisungen befolgen: Das Installationsprogramm führt Sie durch den Prozess. Es installiert Go normalerweise standardmäßig in
C:\Program Files\Go
und fügt dasbin
-Verzeichnis (C:\Program Files\Go\bin
) automatisch derPATH
-Umgebungsvariablen Ihres Systems hinzu. - Überprüfen: Öffnen Sie eine neue Eingabeaufforderung oder ein PowerShell-Fenster und führen Sie
go version
aus. Wenn Sie ein vorhandenes Fenster verwenden, müssen Sie es möglicherweise neu starten, damit diePATH
-Änderungen wirksam werden.
Option 2: Chocolatey (Paketmanager)
Wenn Sie Chocolatey verwenden, einen Paketmanager für Windows, können Sie Go mit einem einzigen Befehl installieren:
choco install golang
1.3. macOS
Option 1: Offizielles PKG-Installationsprogramm (empfohlen)
- Herunterladen: Gehen Sie zu https://go.dev/dl/ und laden Sie das macOS-Installationsprogramm herunter (z. B.
go1.22.2.darwin-amd64.pkg
für Intel odergo1.22.2.darwin-arm64.pkg
für Apple Silicon). - Installationsprogramm ausführen: Doppelklicken Sie auf die heruntergeladene PKG-Datei.
- Anweisungen befolgen: Das Installationsprogramm führt Sie durch den Prozess. Go wird normalerweise in
/usr/local/go
installiert, und das Installationsprogramm richtet diePATH
-Umgebungsvariable automatisch in/etc/paths.d/go
ein. - Überprüfen: Öffnen Sie ein neues Terminalfenster und führen Sie
go version
aus.
Option 2: Homebrew (Paketmanager)
Homebrew ist der beliebteste Paketmanager für macOS. Wenn Sie Homebrew installiert haben, können Sie Go mit Folgendem installieren:
brew install go
Homebrew fügt go
normalerweise automatisch zu Ihrem PATH
hinzu.
1.4. Linux
Unter Linux haben Sie mehrere Optionen. Die manuelle Tarball-Installation bietet die grösste Kontrolle, während Paketmanager Komfort bieten.
Option 1: Offizieller Tarball (empfohlen für manuelle Steuerung)
Diese Methode stellt sicher, dass Sie die neueste Version direkt von Go erhalten und Sie den Installationsort steuern.
-
Herunterladen: Gehen Sie zu https://go.dev/dl/ und laden Sie den Linux-Tarball herunter (z. B.
go1.22.2.linux-amd64.tar.gz
). -
Extrahieren: Öffnen Sie Ihr Terminal und extrahieren Sie das Archiv nach
/usr/local
. Dieser Speicherort ist eine gängige Konvention für systemweite Software:sudo rm -rf /usr/local/go # Entfernen Sie alle vorherigen Go-Installationen sudo tar -C /usr/local -xzf go1.22.2.linux-amd64.tar.gz
(Ersetzen Sie
go1.22.2.linux-amd64.tar.gz
durch den tatsächlichen Dateinamen, den Sie heruntergeladen haben.) -
Umgebungsvariablen festlegen: Sie müssen das Binärverzeichnis von Go zu Ihrem
PATH
hinzufügen. Öffnen Sie Ihre Shell-Konfigurationsdatei (z. B.~/.bashrc
,~/.zshrc
oder~/.profile
) mit einem Texteditor:# Für Bash nano ~/.bashrc # Für Zsh nano ~/.zshrc
Fügen Sie die folgende Zeile am Ende der Datei hinzu:
export PATH=$PATH:/usr/local/go/bin
Speichern Sie die Datei und beenden Sie den Editor.
-
Änderungen übernehmen: Damit die Änderungen wirksam werden, starten Sie entweder Ihr Terminal neu oder beziehen Sie die Konfigurationsdatei ein:
source ~/.bashrc # Oder source ~/.zshrc
-
Überprüfen: Führen Sie
go version
aus.
Option 2: Verwenden von APT (Debian/Ubuntu)
Obwohl es bequem ist, können Standard-Repository-Versionen älter sein als die neueste stabile Version.
sudo apt update sudo apt install golang-go
Option 3: Verwenden von Snap (Ubuntu)
Snap-Pakete bieten isolierte Umgebungen und bieten oft aktuellere Versionen als apt
.
sudo snap install go --classic
2. Go-Umgebungsvariablen verstehen
Go ist für seinen Betrieb auf mehrere Umgebungsvariablen angewiesen. Sie können Ihre aktuellen Go-Umgebungseinstellungen mit go env
überprüfen:
go env
Die Ausgabe variiert, aber wichtige Variablen sind:
GOROOT
: Der Pfad zu Ihrer Go-Installation (z. B./usr/local/go
oderC:\Program Files\Go
). Dies wird automatisch durch die Installation/Tarball-Extraktion festgelegt.GOPATH
: Historisch gesehen war dies ein Arbeitsbereichsverzeichnis, in dem Go-Projekte, -Pakete und -Binärdateien gespeichert wurden. Mit Go Modules (eingeführt in Go 1.11, Standard seit 1.16) istGOPATH
für Projektquellcode weitgehend veraltet. Es wird weiterhin zum Zwischenspeichern von Modulen (GOMODCACHE
) und fürgo install
-Ziele verwendet, wenn ein Tool installiert wird, das Module nicht unterstützt (z. B.go install golang.org/x/tools/cmd/guru@latest
installiertguru
in$GOPATH/bin
). Standardmäßig ist es~/go
auf Unix-ähnlichen Systemen und%USERPROFILE%\go
unter Windows.GOBIN
: Das Verzeichnis, in demgo install
kompilierte Binärdateien ablegt. Standardmäßig ist dies$GOPATH/bin
. Es ist eine gute Praxis,$GOBIN
zu Ihrem System-PATH
hinzuzufügen, wenn Sie viele Go-Tools installieren.PATH
: Diese wichtige Systemvariable teilt Ihrer Shell mit, wo ausführbare Programme zu finden sind. Dasbin
-Verzeichnis von Go (z. B./usr/local/go/bin
) muss sich in IhremPATH
befinden, damitgo
-Befehle von jedem Verzeichnis aus funktionieren.GOOS
undGOARCH
: Diese Variablen definieren das Zielbetriebssystem und die Zielarchitektur für die Cross-Kompilierung. Um beispielsweise eine Binärdatei für Linux auf einem ARM-64-Bit-System von macOS aus zu kompilieren:GOOS=linux GOARCH=arm64 go build
.
Für die moderne Go-Entwicklung mit Modules müssen Sie GOPATH
oder GOBIN
normalerweise nicht manuell festlegen. Go verwaltet Abhängigkeiten und Builds innerhalb Ihres Projektverzeichnisses.
3. Einrichten Ihres ersten Go-Projekts (Go Modules)
Go Modules sind die offizielle Lösung für das Abhängigkeitsmanagement für Go. Sie vereinfachen die Versionierung, das Verpacken und das Arbeiten mit externen Bibliotheken.
-
Erstellen Sie ein Projektverzeichnis: Wählen Sie einen beliebigen Speicherort außerhalb Ihres
GOPATH
.mkdir my-go-project cd my-go-project
-
Initialisieren Sie ein neues Modul: Dadurch wird eine
go.mod
-Datei erstellt, die die Abhängigkeiten Ihres Projekts verfolgt. Ersetzen Sieexample.com/my-go-project
durch Ihren gewünschten Modulpfad (oft den Importpfad, wenn er online gehostet wird, oder eine lokale Kennung, wenn nicht).undefined
go mod init example.com/my-go-project ```
Sie sollten Folgendes sehen:
```
go: creating new go.mod: module example.com/my-go-project ```
-
Erstellen Sie eine Go-Quelldatei: Erstellen Sie eine Datei namens
main.go
innerhalb vonmy-go-project
.// main.go package main import ( "fmt" "log" "rsc.io/quote" // Wir werden diese Abhängigkeit hinzufügen ) func main() { fmt.Println("Hallo, Go Welt!") fmt.Println(quote.Hello()) log.Printf("Aktuelle Go-Version: %s", quote.GoV1()) }
-
Führen Sie Ihr Programm aus: Der Befehl
go run
kompiliert und führt Ihren Code aus. Er lädt auch automatisch alle fehlenden Abhängigkeiten herunter (rsc.io/quote
in diesem Fall).undefined
go run main.go ```
Sie sollten eine ähnliche Ausgabe wie diese sehen:
```
Hallo, Go Welt!
Hello, world.
2023/10/26 10:30:00 Aktuelle Go-Version: go1.14
```
(Hinweis: `quote.GoV1()` gibt möglicherweise eine ältere Go-Versionszeichenfolge zurück, das wird für dieses spezifische Abhängigkeitsbeispiel erwartet.)
5. Erstellen Sie Ihr Programm: Der Befehl go build
kompiliert Ihren Quellcode in eine ausführbare Binärdatei in Ihrem Projektverzeichnis.
```bash
go build ```
Dadurch wird eine ausführbare Datei (z. B. `my-go-project.exe` unter Windows, `my-go-project` unter Linux/macOS) in Ihrem aktuellen Verzeichnis erstellt. Sie können sie dann direkt ausführen:
```bash
./my-go-project # Unter Linux/macOS
my-go-project.exe # Unter Windows
```
6. Grundlegendes zu go.mod
und go.sum
:
* go.mod
: Deklariert den Modulpfad, die Go-Version für das Modul und zeichnet direkte und indirekte Abhängigkeiten mit ihren Versionen auf.
* go.sum
: Eine kryptografische Hash-Datei, die den Inhalt heruntergeladener Module überprüft und die Sicherheit der Lieferkette gewährleistet.
Nach `go run` oder `go build` könnte Ihre `go.mod` wie folgt aussehen:
```go
module example.com/my-go-project
go 1.22
require rsc.io/quote v1.5.2 ```
Und `go.sum` enthält Hashes für `rsc.io/quote` und seine transitiven Abhängigkeiten (`rsc.io/sampler`).
4. Wichtige Tools und Entwicklungsumgebungen
Obwohl die Go-Entwicklung mit einem einfachen Texteditor durchgeführt werden kann, können eine IDE oder ein Code-Editor mit Go-Erweiterungen die Produktivität erheblich steigern.
4.1. Visual Studio Code (Sehr empfehlenswert)
VS Code ist ein kostenloser, Open-Source- und sehr beliebter Code-Editor mit ausgezeichneter Go-Unterstützung durch Erweiterungen.
-
VS Code herunterladen und installieren: https://code.visualstudio.com/
-
Installieren Sie die Go-Erweiterung:
- Öffnen Sie VS Code.
- Gehen Sie zur Ansicht "Erweiterungen" (Strg+Umschalt+X oder Cmd+Umschalt+X).
- Suchen Sie nach "Go" und installieren Sie die offizielle Erweiterung von Google.
-
Go-Tools installieren: Nach der Installation der Erweiterung fordert VS Code Sie oft auf, zusätzliche Go-Tools (Linter, Debugger, Formatierer) zu installieren. Klicken Sie auf "Alle installieren" oder führen Sie
Go: Tools installieren/aktualisieren
über die Befehlspalette (Strg+Umschalt+P oder Cmd+Umschalt+P) aus.Häufige Tools sind:
gopls
: Go Language Server, der Intellisense, Refactoring usw. bereitstellt.delve
: Der Go-Debugger.golint
,staticcheck
: Statische Analysetools.goimports
,goreturns
: Code-Formatierungstools.
Nach der Installation bietet VS Code Funktionen wie:
- Syntaxhervorhebung und automatische Vervollständigung.
- Code-Formatierung beim Speichern.
- Integrierte Fehlersuche.
- Refactoring.
- Linter-Warnungen und -Fehler.
4.2. GoLand (Kommerzielle IDE)
GoLand von JetBrains ist eine leistungsstarke, dedizierte Go-IDE, die erweiterte Funktionen wie ausgefeilte Code-Analyse, integrierte Fehlersuche, robustes Refactoring und Datenbanktools bietet. Es ist ein kommerzielles Produkt, bietet aber eine kostenlose Testversion und grosszügige akademische Lizenzen.
4.3. Andere Editoren
- Vim/Neovim: Mit Plugins wie
vim-go
undcoc.nvim
(für LSP-Unterstützung). - Emacs: Mit
go-mode
und LSP-Client-Setups. - Atom, Sublime Text: Mit relevanten Go-Paketen/Plugins.
5. Testen Ihrer Einrichtung
Um sicherzustellen, dass alles ordnungsgemäss funktioniert, versuchen wir einen vollständigen Workflow:
-
Öffnen Sie Ihr
my-go-project
-Verzeichnis in VS Code. -
Go-Erweiterung überprüfen: In der unteren Statusleiste von VS Code sollten Sie "Go" oder Ähnliches sehen, was darauf hinweist, dass die Go-Erweiterung aktiv ist.
-
Ändern Sie
main.go
: Fügen Sie eine einfache Funktion und eine Testdatei hinzu.Erstellen Sie eine neue Datei
calculator.go
:// calculator.go package main func Add(a, b int) int { return a + b }
Erstellen Sie eine Testdatei
calculator_test.go
:// calculator_test.go package main import "testing" func TestAdd(t *testing.T) { sum := Add(2, 3) expected := 5 if sum != expected { t.Errorf("Add(2, 3) war inkorrekt, got: %d, want: %d.", sum, expected) } }
-
Tests ausführen: Führen Sie in Ihrem Terminal (innerhalb von
my-go-project
) Folgendes aus:undefined
go test ```
Sie sollten Folgendes sehen:
```
ok example.com/my-go-project 0.003s ``` Dies zeigt an, dass Ihr Test bestanden wurde.
-
Bereinigen Sie Build-Artefakte:
undefined
go clean ```
Dieser Befehl entfernt Objektdateien und zwischengespeicherte Archive (aber nicht standardmässig die ausführbare Hauptdatei). Um die kompilierte ausführbare Datei von `go build` zu entfernen, würden Sie sie normalerweise manuell löschen oder `go clean -i` verwenden, um installierte Binärdateien zu entfernen.
6. Beheben häufiger Probleme
go: Befehl nicht gefunden
oderDer Begriff 'go' wurde nicht erkannt
:- Ursache: Das Binärverzeichnis von Go befindet sich nicht in der
PATH
-Umgebungsvariablen Ihres Systems. - Lösung: Befolgen Sie die Schritte in Abschnitt 1, um Ihre
PATH
-Variable korrekt einzurichten, und denken Sie daran, nach den Änderungen ein neues Terminal-/Eingabeaufforderungsfenster zu öffnen.
- Ursache: Das Binärverzeichnis von Go befindet sich nicht in der
- Fehler beim Herunterladen von Modulen (z. B.
go: Moduldownload fehlgeschlagen
):- Ursache: Netzwerkprobleme, Unternehmensproxy oder Fehlkonfiguration von
GOPROXY
. - Lösung: Überprüfen Sie Ihre Internetverbindung. Wenn Sie sich hinter einem Proxy befinden, legen Sie die Umgebungsvariablen
HTTP_PROXY
undHTTPS_PROXY
und möglicherweiseGOPROXY
aufdirect
oder einen Unternehmensproxy fest. - Beispiel für Shell:
export GOPROXY=https://proxy.golang.org,direct
- Beispiel für Windows PowerShell:
$env:GOPROXY='https://proxy.golang.org,direct'
- Ursache: Netzwerkprobleme, Unternehmensproxy oder Fehlkonfiguration von
- Berechtigungsfehler:
- Ursache: Versuchen, Go oder Tools in einem Verzeichnis zu installieren, für das Sie keine Schreibberechtigung haben (z. B.
/usr/local
ohnesudo
). - Lösung: Stellen Sie sicher, dass Sie die erforderlichen Berechtigungen haben, oder verwenden Sie
sudo
für systemweite Installationen (wie die Tarball-Methode unter Linux).
- Ursache: Versuchen, Go oder Tools in einem Verzeichnis zu installieren, für das Sie keine Schreibberechtigung haben (z. B.
- "Go Language Server is not running":
- Ursache:
gopls
(der Go Language Server) oder andere wichtige Go-Tools sind nicht installiert oder werden von Ihrem Editor nicht gefunden. - Lösung: Öffnen Sie in VS Code die Befehlspalette (Strg+Umschalt+P / Cmd+Umschalt+P) und führen Sie "Go: Tools installieren/aktualisieren" aus. Wählen Sie
gopls
und alle anderen fehlenden Tools aus.
- Ursache:
Schlussfolgerung
Sie haben jetzt eine voll funktionsfähige Go-Entwicklungsumgebung auf Ihrem gewählten Betriebssystem eingerichtet, die mit modernen Go Modules für das Abhängigkeitsmanagement integriert ist. Sie sind gerüstet, um Go-Anwendungen zu schreiben, zu erstellen und zu testen, wobei Sie die Leistungsfähigkeit der Standard-Toolchain und der gängigen Editorerweiterungen nutzen. Die Reise in die Go-Programmierung ist aufregend; fangen Sie an zu bauen!