Einführung
Go ist eine Programmiersprache, die aus Frustration bei Google entstanden ist. Die Entwickler mussten ständig eine Sprache auswählen, die effizient ausgeführt wurde, deren Kompilierung jedoch viel Zeit in Anspruch nahm, oder eine Sprache auswählen, die einfach zu programmieren war, in der Produktion jedoch ineffizient lief. Go wurde so konzipiert, dass alle drei gleichzeitig verfügbar sind: schnelle Kompilierung, einfache Programmierung und effiziente Ausführung in der Produktion.
Go ist eine vielseitige Programmiersprache, die für viele verschiedene Programmierprojekte verwendet werden kann. Sie eignet sich jedoch besonders gut für Netzwerk- / verteilte Systemprogramme und hat sich den Ruf einer „Sprache der Cloud“ erarbeitet. Im Mittelpunkt steht die Unterstützung moderner Programmierer mehr mit einem starken Werkzeugsatz, der Debatten über die Formatierung beseitigt, indem das Format Teil der Sprachspezifikation wird und die Bereitstellung durch Kompilieren in einer einzelnen Binärdatei vereinfacht wird. Go ist einfach zu erlernen und mit einer sehr kleinen Anzahl von Schlüsselwörtern ausgestattet. Dies macht es zu einer großartigen Wahl für Anfänger und erfahrene Entwickler.
Dieses Tutorial führt Sie durch die Installation von Go auf Ihrem lokalen MacOS-Computer und das Einrichten eines Programmierarbeitsbereichs über die Befehlszeile.
Voraussetzungen
Sie benötigen einen MacOS-Computer mit Administratorzugriff, der mit dem Internet verbunden ist.
[[Schritt-1 - Öffnen des Terminals]] == Schritt 1 - Öffnen des Terminals
Wir werden den größten Teil unserer Installation und Einrichtung über die Befehlszeile ausführen. Dies ist eine nicht grafische Möglichkeit, mit Ihrem Computer zu interagieren. Das heißt, anstatt auf Schaltflächen zu klicken, geben Sie Text ein und erhalten auch Text-Feedback von Ihrem Computer. Die Befehlszeile, auch als Shell bezeichnet, kann Ihnen dabei helfen, viele der Aufgaben, die Sie täglich auf einem Computer ausführen, zu ändern und zu automatisieren. Sie ist ein unverzichtbares Tool für Softwareentwickler.
Das macOS-Terminal ist eine Anwendung, mit der Sie auf die Befehlszeilenschnittstelle zugreifen können. Wie bei jeder anderen Anwendung können Sie sie finden, indem Sie im Finder zum Ordner "Programme" und dann zum Ordner "Dienstprogramme" navigieren. Doppelklicken Sie von hier aus wie bei jeder anderen Anwendung auf das Terminal, um es zu öffnen. Alternativ können Sie Spotlight verwenden, indem Sie die TastenCMD
undSPACE
gedrückt halten, um das Terminal zu finden, indem Sie es in das angezeigte Feld eingeben.
Es müssen noch viele weitere Terminal-Befehle gelernt werden, mit denen Sie leistungsstärkere Aufgaben ausführen können. Der Artikel „https://www.digitalocean.com/community/tutorials/an-einführung-zum-linux-terminal -[Einführung in das Linux-Terminal]“ kann Sie mit dem ähnlichen Linux-Terminal besser orientieren zum macOS Terminal.
Nachdem Sie Terminal geöffnet haben, können SieXcode herunterladen und installieren, ein Paket von Entwicklertools, die Sie für die Installation von Go benötigen.
[[Schritt-2 - Installation von Xcode]] == Schritt 2 - Installation von Xcode
Xcode ist eineintegrated development environment (IDE), die aus Softwareentwicklungstools für macOS besteht. Sie können überprüfen, ob Xcode bereits installiert ist, indem Sie im Terminalfenster Folgendes eingeben:
xcode-select -p
Die folgende Ausgabe bedeutet, dass Xcode installiert ist:
Output/Library/Developer/CommandLineTools
Wenn Sie einen Fehler erhalten haben, installieren Sie in Ihrem WebbrowserXcode from the App Store und akzeptieren Sie die Standardoptionen.
Kehren Sie nach der Installation von Xcode zu Ihrem Terminal-Fenster zurück. Als Nächstes müssen Sie die separate Befehlszeilentools-App von Xcode installieren. Geben Sie dazu Folgendes ein:
xcode-select --install
Zu diesem Zeitpunkt sind Xcode und seine Befehlszeilentools-App vollständig installiert und wir sind bereit, den Paketmanager Homebrew zu installieren.
[[Schritt-3 - Installieren und Einrichten von Homebrew]] == Schritt 3 - Installieren und Einrichten von Homebrew
Das macOS-Terminal verfügt zwar über viele Funktionen von Linux-Terminals und anderen Unix-Systemen, wird jedoch nicht mit einem Paketmanager ausgeliefert, der Best Practices berücksichtigt. Apackage manager ist eine Sammlung von Softwaretools, mit denen Installationsprozesse automatisiert werden können. Dazu gehören die Erstinstallation der Software, das Aktualisieren und Konfigurieren von Software sowie das Entfernen von Software nach Bedarf. Sie bewahren die Installationen an einem zentralen Ort auf und können alle Softwarepakete auf dem System in den üblicherweise verwendeten Formaten verwalten. Homebrew bietet macOS ein kostenloses Open-Source-Softwarepaket-Verwaltungssystem, das die Installation von Software unter macOS vereinfacht.
Geben Sie Folgendes in Ihr Terminalfenster ein, um Homebrew zu installieren:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Da Homebrew mit Ruby erstellt wurde, wird der Ruby-Pfad Ihres Computers geändert. Der Befehlcurl
ruft ein Skript von der angegebenen URL ab. In diesem Skript wird die Funktionsweise erläutert und der Vorgang angehalten, um Sie zur Bestätigung aufzufordern. Auf diese Weise erhalten Sie viele Rückmeldungen zu den Aktionen des Skripts auf Ihrem System und haben die Möglichkeit, den Vorgang zu überprüfen.
Wenn Sie Ihr Passwort eingeben müssen, beachten Sie, dass Ihre Tastatureingaben nicht im Terminalfenster angezeigt werden, sondern aufgezeichnet werden. Drücken Sie einfach die Tastereturn
, sobald Sie Ihr Passwort eingegeben haben. Andernfalls drücken Sie den Buchstabeny
für "Ja", wenn Sie aufgefordert werden, die Installation zu bestätigen.
Gehen wir die Flags durch, die dem Befehlcurl
zugeordnet sind:
-
Das Flag
-f
oder--fail
weist das Terminalfenster an, bei Serverfehlern keine HTML-Dokumentausgabe zu geben. -
Das Flag
-s
oder--silent
schaltetcurl
stumm, sodass die Fortschrittsanzeige nicht angezeigt wird. In Kombination mit dem Flag-S
oder--show-error
wird sichergestellt, dasscurl
zeigt eine Fehlermeldung an, wenn dies fehlschlägt. -
Das Flag
-L
oder--location
weistcurl
an, die Anforderung an einen neuen Ort zu wiederholen, wenn der Server meldet, dass die angeforderte Seite an einen anderen Speicherort verschoben wurde.
Sobald der Installationsvorgang abgeschlossen ist, wird das Homebrew-Verzeichnis oben in die UmgebungsvariablePATH
eingefügt. Dadurch wird sichergestellt, dass Homebrew-Installationen über die Tools aufgerufen werden, die macOS möglicherweise automatisch auswählt und die möglicherweise der von uns erstellten Entwicklungsumgebung widersprechen.
Sie sollten die Datei~/.bash_profile
mit dem Befehlszeilentexteditornano mit dem Befehlnano
erstellen oder öffnen:
nano ~/.bash_profile
Wenn die Datei im Terminalfenster geöffnet ist, schreiben Sie Folgendes:
export PATH=/usr/local/bin:$PATH
Um Ihre Änderungen zu speichern, halten Sie die TasteCTRL
und den Buchstabeno
gedrückt und drücken Sie bei Aufforderung die TasteRETURN
. Jetzt können Sie nano beenden, indem Sie die TasteCTRL
und den Buchstabenx
gedrückt halten.
Aktivieren Sie diese Änderungen, indem Sie im Terminal Folgendes ausführen:
source ~/.bash_profile
Sobald Sie dies getan haben, werden die Änderungen, die Sie an der UmgebungsvariablenPATH
vorgenommen haben, wirksam.
Sie können sicherstellen, dass Homebrew erfolgreich installiert wurde, indem Sie Folgendes eingeben:
brew doctor
Wenn zu diesem Zeitpunkt keine Aktualisierungen erforderlich sind, lautet die Ausgabe des Terminals:
OutputYour system is ready to brew.
Andernfalls erhalten Sie möglicherweise eine Warnung, einen anderen Befehl wiebrew update
auszuführen, um sicherzustellen, dass Ihre Installation von Homebrew auf dem neuesten Stand ist.
Sobald Homebrew fertig ist, können Sie Go installieren.
[[Schritt 4 - Installieren von Go]] == Schritt 4 - Installieren von Go
Mit Homebrew können Sie mit dem Befehlbrew search
nach allen verfügbaren Paketen suchen. In diesem Lernprogramm suchen Sie nach Paketen oder Modulen für Go:
brew search golang
[.note] #Note: In diesem Lernprogramm werdenbrew search go
nicht verwendet, da zu viele Ergebnisse zurückgegeben werden. Dago
ein so kleines Wort ist und mit vielen Paketen übereinstimmen würde, ist es üblich geworden,golang
als Suchbegriff zu verwenden. Dies ist gängige Praxis, wenn Sie im Internet nach Artikeln zum Thema Go suchen. Der BegriffGolang wurde aus der Domäne für Go geboren, dhgolang.org
.
#
Das Terminal gibt eine Liste aus, was Sie installieren können:
Outputgolang golang-migrate
Go wird zu den Elementen auf der Liste gehören. Gehen Sie voran und installieren Sie es:
brew install golang
Das Terminal-Fenster gibt Ihnen Feedback zum Installationsprozess von Go. Es kann einige Minuten dauern, bis die Installation abgeschlossen ist.
Geben Sie Folgendes ein, um die installierte Go-Version zu überprüfen:
go version
Dadurch wird die aktuell installierte Go-Version ausgegeben. Dies ist standardmäßig die aktuellste und stabilste Version von Go, die verfügbar ist.
In Zukunft können Sie zum Aktualisieren von Go die folgenden Befehle ausführen, um zuerst Homebrew und dann Go zu aktualisieren. Sie müssen dies jetzt nicht tun, da Sie gerade die neueste Version installiert haben:
brew update
brew upgrade golang
brew update
aktualisiert die Formeln für Homebrew selbst und stellt sicher, dass Sie über die neuesten Informationen zu den Paketen verfügen, die Sie installieren möchten. brew upgrade golang
aktualisiert das Paketgolang
auf die neueste Version des Pakets.
Es wird empfohlen, sicherzustellen, dass Ihre Go-Version auf dem neuesten Stand ist.
Wenn Go auf Ihrem Computer installiert ist, können Sie jetzt einen Arbeitsbereich für Ihre Go-Projekte erstellen.
[[Schritt 5 - Erstellen Ihres Go-Arbeitsbereichs]] == Schritt 5 - Erstellen Ihres Go-Arbeitsbereichs
Nachdem Sie Xcode, Homebrew und Go installiert haben, können Sie Ihren Programmierarbeitsbereich erstellen.
Der Go-Arbeitsbereich enthält im Stammverzeichnis zwei Verzeichnisse:
-
src
: Das Verzeichnis, das Go-Quelldateien enthält. Eine Quelldatei ist eine Datei, die Sie mit der Programmiersprache Go schreiben. Quelldateien werden vom Go-Compiler zum Erstellen einer ausführbaren Binärdatei verwendet. -
bin
: Das Verzeichnis, das ausführbare Dateien enthält, die von den Go-Tools erstellt und installiert wurden. Ausführbare Dateien sind Binärdateien, die auf Ihrem System ausgeführt werden und Aufgaben ausführen. Dies sind normalerweise die Programme, die von Ihrem Quellcode oder einem anderen heruntergeladenen Go-Quellcode kompiliert wurden.
Das Unterverzeichnissrc
kann mehrere Versionskontroll-Repositorys enthalten (z. B.Git,Mercurial undBazaar). Sie sehen Verzeichnisse wiegithub.com
odergolang.org
, wenn Ihr Programm Bibliotheken von Drittanbietern importiert. Wenn Sie ein Code-Repository wiegithub.com
verwenden, legen Sie auch Ihre Projekte und Quelldateien in diesem Verzeichnis ab. Dies ermöglicht einen kanonischen Import von Code in Ihr Projekt. Canonical-Importe sind Importe, die auf ein vollständig qualifiziertes Paket verweisen, z. B.github.com/digitalocean/godo
.
So sieht ein typischer Arbeitsbereich aus:
.
├── bin
│ ├── buffalo # command executable
│ ├── dlv # command executable
│ └── packr # command executable
└── src
└── github.com
└── digitalocean
└── godo
├── .git # Git reposistory metadata
├── account.go # package source
├── account_test.go # test source
├── ...
├── timestamp.go
├── timestamp_test.go
└── util
├── droplet.go
└── droplet_test.go
Das Standardverzeichnis für den Go-Arbeitsbereich ab 1.8 ist das Ausgangsverzeichnis Ihres Benutzers mit dem Unterverzeichnisgo
oder$HOME/go
. Wenn Sie eine Version von Go vor 1.8 verwenden, wird empfohlen, den Speicherort von$HOME/go
weiterhin für Ihren Arbeitsbereich zu verwenden.
Geben Sie den folgenden Befehl ein, um die Verzeichnisstruktur für Ihren Go-Arbeitsbereich zu erstellen:
mkdir -p $HOME/go/{bin,src}
Die Option-p
weistmkdir
an, alleparents
im Verzeichnis zu erstellen, auch wenn sie derzeit nicht vorhanden sind. Die Verwendung von{bin,src}
erstellt eine Reihe von Argumenten fürmkdir
und weist es an, sowohl das Verzeichnisbin
als auch das Verzeichnissrc
zu erstellen.
Dadurch wird sichergestellt, dass die folgende Verzeichnisstruktur jetzt vorhanden ist:
└── $HOME
└── go
├── bin
└── src
Vor Go 1.8 musste eine lokale Umgebungsvariable namens$GOPATH
festgelegt werden. Dies ist zwar nicht mehr explizit erforderlich, wird aber dennoch als bewährte Methode angesehen, da viele Tools von Drittanbietern immer noch davon abhängen, dass diese Variable festgelegt wird.
Sie können Ihre$GOPATH
festlegen, indem Sie sie zu Ihren~/.bash_profile
hinzufügen.
Öffnen Sie zunächst~/.bash_profile
mitnano
oder Ihrem bevorzugten Texteditor:
nano ~/.bash_profile
Stellen Sie Ihre$GOPATH
ein, indem Sie der Datei Folgendes hinzufügen:
~/.bash_profile
export GOPATH=$HOME/go
Wenn Go Tools kompiliert und installiert, werden sie im Verzeichnis$GOPATH/bin
abgelegt. Der Einfachheit halber ist es üblich, das Unterverzeichnis/bin
des Arbeitsbereichs zu IhrenPATH
in Ihren~/.bash_profile
hinzuzufügen:
~/.bash_profile
export PATH=$PATH:$GOPATH/bin
Sie sollten jetzt die folgenden Einträge in Ihren~/.bash_profile
haben:
~/.bash_profile
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
Auf diese Weise können Sie jetzt alle Programme ausführen, die Sie über die Go-Tools kompilieren oder herunterladen, und zwar überall auf Ihrem System.
Um Ihre Shell zu aktualisieren, geben Sie den folgenden Befehl ein, um die soeben erstellten globalen Variablen zu laden:
. ~/.bash_profile
Sie können überprüfen, ob Ihre$PATH
aktualisiert wurden, indem Sie den Befehlecho
verwenden und die Ausgabe überprüfen:
echo $PATH
Sie sollten Ihre$GOPATH/bin
sehen, die in Ihrem Home-Verzeichnis angezeigt werden. Wenn Sie alssammy
angemeldet wären, würden Sie/Users/sammy/go/bin
im Pfad sehen.
Output/Users/sammy/go/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
Nachdem Sie das Stammverzeichnis des Arbeitsbereichs erstellt und die Umgebungsvariable$GOPATH
festgelegt haben, erstellen Sie Ihre zukünftigen Projekte mit der folgenden Verzeichnisstruktur. In diesem Beispiel wird davon ausgegangen, dass Siegithub.com als Repository verwenden:
$GOPATH/src/github.com/username/project
Wenn Sie am Projekthttps://github.com/digitalocean/godoarbeiten würden, würden Sie es in das folgende Verzeichnis stellen:
$GOPATH/src/github.com/digitalocean/godo
Wenn Sie Ihre Projekte auf diese Weise strukturieren, werden Projekte mit dem Toolgo get
verfügbar. Dies wird später auch die Lesbarkeit verbessern.
Sie können dies überprüfen, indem Sie den Befehlgo get
verwenden, um die Bibliothekgodo
abzurufen:
go get github.com/digitalocean/godo
Wir können sehen, dass dasgodo
-Paket erfolgreich heruntergeladen wurde, indem wir das Verzeichnis auflisten:
ls -l $GOPATH/src/github.com/digitalocean/godo
Sie erhalten eine Ausgabe ähnlich der folgenden:
Output-rw-r--r-- 1 sammy staff 2892 Apr 5 15:56 CHANGELOG.md
-rw-r--r-- 1 sammy staff 1851 Apr 5 15:56 CONTRIBUTING.md
.
.
.
-rw-r--r-- 1 sammy staff 4893 Apr 5 15:56 vpcs.go
-rw-r--r-- 1 sammy staff 4091 Apr 5 15:56 vpcs_test.go
In diesem Schritt haben Sie einen Go-Arbeitsbereich erstellt und die erforderlichen Umgebungsvariablen konfiguriert. Im nächsten Schritt testen Sie den Arbeitsbereich mit etwas Code.
[[Schritt-6 - Erstellen eines einfachen Programms]] == Schritt 6 - Erstellen eines einfachen Programms
Nachdem Sie Ihren Go-Arbeitsbereich eingerichtet haben, können Sie ein einfaches "Hello, World!" - Programm erstellen. Dies stellt sicher, dass Ihr Arbeitsbereich funktioniert, und bietet Ihnen die Möglichkeit, sich mit Go vertraut zu machen.
Da Sie eine einzelne Go-Quelldatei und kein tatsächliches Projekt erstellen, müssen Sie sich hierfür nicht in Ihrem Arbeitsbereich befinden.
Öffnen Sie in Ihrem Home-Verzeichnis einen Befehlszeilentexteditor, z. B.nano
, und erstellen Sie eine neue Datei:
nano hello.go
Sobald die Textdatei in Terminal geöffnet ist, geben Sie Ihr Programm ein:
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
Beenden Sie nano, indem Sie die Tastencontrol
undx
eingeben. Wenn Sie zum Speichern der Datei aufgefordert werden, drücken Siey
.
Dieser Code verwendet das Paketfmt
und ruft die FunktionPrintln
mitHello, World!
als Argument auf. Dadurch wird die PhraseHello, World!
beim Ausführen des Programms auf dem Terminal ausgedruckt.
Wenn Sienano
verlassen und zu Ihrer Shell zurückkehren, führen Sie das folgende Programm aus:
go run hello.go
Das soeben erstellte Programmhello.go
bewirkt, dass Terminal die folgende Ausgabe erzeugt:
OutputHello, World!
In diesem Schritt haben Sie mit einem Basisprogramm überprüft, ob Ihr Go-Arbeitsbereich ordnungsgemäß konfiguriert ist.
Fazit
Herzliche Glückwünsche! Zu diesem Zeitpunkt haben Sie einen Arbeitsbereich für die Go-Programmierung auf Ihrem lokalen MacOS-Computer eingerichtet und können ein Codierungsprojekt starten!