Installez l'environnement de développement de langage go sous ubuntu
alentours
VirtualBox
Ubuntu 18.04
Installer Golang
Utilisez l'outil de gestion des packages système pour installer golang. L'avantage est que même s'il ne s'agit pas de la dernière version, cela n'affectera pas l'utilisation normale.
$ sudo apt-get install golang
Une fois l'installation terminée, utilisez la commande go version pour afficher la version
$ go version
Créer un espace de travail
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 package,
- le répertoire bin contient des commandes exécutables
Utilisez la commande mkdir pour créer un espace de travail
$ mkdir $HOME/go
Configurer la variable d'environnement GOPATH
La variable d'environnement GOPATH indique l'emplacement de votre espace de travail (notez que cet emplacement ne peut pas être le même que votre répertoire d'installation go)
$ export GOPATH=$HOME/go
Ajoutez le sous-répertoire bin de cet espace de travail à votre PATH
$ export PATH=$PATH:$GOPATH/bin
Puis effectuez la configuration
$ source $HOME/.profile
Une fois la configuration réussie, vous pouvez utiliser go env pour vérifier la configuration
$ go env
Créer le chemin du package
Créez un dossier dans l'espace de travail pour stocker vos fichiers source
$ mkdir -p $GOPATH/src/github.com/user
Créez Hello World!
Sélectionnez d'abord le chemin du package, puis créez le fichier dans le dossier correspondant
$ mkdir $GOPATH/src/github.com/user/hello
Créez un fichier
hello.go hello.go dans le répertoire hello
package main
import "fmt"
func main() {
fmt.Printf("Hello World!\n")
}
Entrez ensuite dans le répertoire hello pour exécuter le fichier
$ go run hello.go
Installer les outils et plugins nécessaires
Installer git
$ sudo apt-get install git
Télécharger le code source
# 创建文件夹(该命令要加-p,因为文件目录还不存在)
$ mkdir -p $GOPATH/src/golang.org/x/
# 下载源码
$ go get -d github.com/golang/tools
# copy
$ cp $GOPATH/src/github.com/golang/tools $GOPATH/src/golang.org/x/ -rf
Kit d'installation
$ go install golang.org/x/tools/go/buildutil
Installez et exécutez le programme hello
$ go install github.com/user/hello
Cette commande créera un fichier binaire exécutable nommé hello, l'installera sous le fichier bin de l'espace de travail et construira une commande hello.
Remarque: lorsque vous modifiez votre fichier, vous devez reconstruire votre programme, sinon il sera exécutable Le binaire est toujours le fichier précédent et le résultat de l'exécution du fichier ne changera pas
Installer go tour
$ go get github.com/Go-zh/tour/gotour
$ gotour
Mon premier package et test
Votre première bibliothèque
Créez votre propre bibliothèque et laissez le programme hello l'utiliser. Sélectionnez le chemin du package et créez un répertoire
$ mkdir $GOPATH/src/github.com/user/stringutil
Créer un fichier reverse.go dans le répertoire
// 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)
}
Construisez le fichier avec la commande go build
$ go build github.com/user/stringutil
Modifiez le programme Hello précédent et utilisez la bibliothèque que vous venez de créer
package main
import (
"fmt"
"github.com/user/stringutil"
)
func main() {
fmt.Printf(stringutil.Reverse("!oG ,olleH"))
}
Réinstaller le fichier Hello avec go install
$ go install github.com/user/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 des tests pour stringutil en créant le fichier $ GOPATH / src / github.com / user / stringutil / reverse_test.go
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)
}
}
}
Utilisez go test pour tester
$ go test github.com/user/stringutil
Résumé du problème
1. Faites attention à l'exactitude du chemin lors de la création de l'espace de travail et des fichiers de répertoire. Si le chemin n'existe pas lors de la création du fichier, ajoutez le paramètre -p
. 2. Chaque fois que vous modifiez le programme, vous devez réinstaller l'instruction temporaire pour mettre à jour l'instruction temporaire. Sinon, exécutez toujours le fichier exécutable précédent