Installation de l'environnement de développement du langage Go sous Ubuntu
alentours
VMware 15.0
Ubuntu 18.04
Première étape de l'installation
Utilisez l'outil de gestion des packages système pour installer, il peut y avoir des anomalies ici, suivez simplement les invites du système.
sudo apt-get install golang
Testez si l'installation est réussie et vérifiez la version
go version
Deuxième étape: créer un espace de travail
Le code Go doit être placé dans l'espace de travail. C'est en fait un répertoire, qui contient trois sous-répertoires:
- Le répertoire src contient les fichiers source Go, qui sont organisés en packages (chaque répertoire correspond à un package)
- Le répertoire pkg contient des objets de package
- le répertoire bin contient des commandes exécutables
Par conséquent, nous devons créer un répertoire d'espace de travail et définir le GOPATH correspondant. L'espace de travail peut être placé n'importe où, ici est placé dans le répertoire personnel.
kangze@kangze:/$ mkdir $HOME/kangze/gopath
Ensuite, créez trois sous-répertoires src pkg bin dans ce répertoire
mkdir src pkg bin
Étape 3 Définir les variables d'environnement
export GOPATH=$HOME/kangze/gopath
export PATH=$PATH:$GOPATH/bin
Effectuez cette configuration:
source ~/.bashrc
Vérifiez la configuration
$ go env
Comme vous pouvez le voir, GOPATH a maintenant été modifié.
Créez Hello world!
Après avoir créé un espace de travail et défini des variables d'environnement, suivez la pratique habituelle pour apprendre une langue, en commençant généralement par Hello World. Afin de terminer ce travail de création d'époque, nous créons d'abord un répertoire de code source.
$ mkdir $GOPATH/src/gihub.com/gitee-user/hello -p
Utilisez vscode pour créer hello.go (vscode peut être téléchargé dans le centre d'applications Ubuntu)
Créez un fichier hello.go dans le répertoire du code source et écrivez-y le code suivant.
package main
import "fmt"
func main() {
fmt.Printf("Hello World!\n")
}
courir:
$ go run hello.go
Installez les plugins nécessaires
Installez Git
sudo apt-get install git
Quelques outils pour installer go
Lien de référence https://github.com/northbright/Notes/blob/master/Golang/china/get-golang-packages-on-golang-org-in-china.md .
Télécharger le code source en local
Étant donné que Golang.org n'est pas accessible dans l'environnement réseau chinois, il est différent de l'exécution
go get golang.org/x/tools/...
Pour obtenir les packages Golang.
Par conséquent, vous pouvez utiliser le miroir sur github pour obtenir le code. Créez d'abord un sous-répertoire sous le répertoire GOPATH
mkdir -p $GOPATH/src/golang.org/x/
Télécharger le code source
go get -d github.com/golang/tools
Déplacer les outils vers le répertoire créé lors de la première étape
cp $GOPATH/src/github.com/golang/tools $GOPATH/src/golang.org/x/ -rf
Kit d'installation
go install golang.org/x/tools/go/buildutil
Fermez vscode, rouvrez-le et installez-le lorsque vous y êtes invité.
Installez et exécutez Hello World
Exécutez la commande suivante
go install github.com/github-user/hello
Cette commande générera un fichier binaire et installera le fichier binaire dans le répertoire bin. Entrez hello pour exécuter.
Installer et exécuter go tour
Reportez-vous à https://github.com/Go-zh/tour .
go get github.com/Go-zh/tour/gotour
gotour
Les résultats sont les suivants:
Mon premier package et test
Ecrire une bibliothèque et un programme pour l'utiliser. Sélectionnez d'abord le chemin du package et créez le répertoire du package:
mkdir $GOPATH/src/github.com/github-user/stringutil
Ensuite, créez un fichier nommé reverse.go dans ce répertoire avec le contenu suivant:
// stringutil 包含有用于处理字符串的工具函数。
package stringutil
// Reverse 将其实参字符串以符文为单位左右反转。
func Reverse(s string) string {
r := []rune(s)
for i, j := 0, len(r)-1; i < len(r)/2; i, j = i+1, j-1 {
r[i], r[j] = r[j], r[i]
}
return string(r)
}
Utilisez maintenant la commande go build pour tester la compilation du package:
$ go build github.com/github-user/stringutil
Après avoir confirmé que le package stringutil est construit, modifiez le fichier hello.go d'origine (il se trouve dans $ GOPATH / src / github.com / github-user / hello) pour l'utiliser:
package main
import (
"fmt"
"github.com/github-user/stringutil"
)
func main() {
fmt.Printf(stringutil.Reverse("!oG ,olleH"))
}
par
go install github.com/github-user/hello
Pour installer le package stringutil.
Exécutez la nouvelle version de ce programme.
hello
tester
Go dispose d'un cadre de test léger, qui comprend la commande go test et le package de test.
Vous pouvez écrire un test en créant un fichier dont le nom se termine par _test.go et contient des fonctions nommées TestXXX et signées func (t * testing.T). Le framework de test exécutera chacune de ces fonctions; si la fonction appelle une fonction qui indique un échec telle que t.Error ou t.Fail, le test indique un échec.
Nous pouvons ajouter un test pour stringutil en créant le fichier $ GOPATH / src / github.com / github-user / stringutil / reverse_test.go, le contenu est le suivant:
package stringutil
import "testing"
func TestReverse(t *testing.T) {
cases := []struct {
in, want string
}{
{
"Hello, world", "dlrow ,olleH"},
{
"Hello, 世界", "界世 ,olleH"},
{
"", ""},
}
for _, c := range cases {
got := Reverse(c.in)
if got != c.want {
t.Errorf("Reverse(%q) == %q, want %q", c.in, got, c.want)
}
}
}
Ensuite, utilisez go test pour exécuter le test
go test github.com/github-user/stringutil
Résumé du problème
Au début, lors de la création d'un espace de travail, un chemin en moins était écrit lors de la configuration des variables d'environnement.
(错误)export GOPATH=$home/gopath
(正确)export GOPATH=$home/kangze/gopath
Faire échouer les opérations suivantes.