Prérequis
Je vais commencer par vous apprendre à lancer votre tout premier programme Go ! Mais avant de d'exécuter votre programme Go il vous faut :
- Un éditeur de texte
- Un compilateur GO
Éditeur de Texte
Pour ma part j’utilise un éditeur de texte gratuit et open source à savoir Visual studio Code avec l’extension Go, c'est une extension qui permet entres autre de :
- Faire de l'auto complétions
- Obtenir des informations quand vous passez la souris sur votre code
- Mettre en forme votre code
- Déboguer votre code
- Importer des paquets automatiquement
- etc ...
Libre à vous d’utiliser autre chose, tant que votre éditeur de texte vous permet d'écrire du texte et de le sauvegarder alors c'est suffisant et vous pouvez passer à l'étape suivante !
Téléchargez le compilateur Go
Pour transformer votre code source en langage machine afin que votre CPU puisse exécuter votre programme il faut installer le compilateur GO. Le compilateur Go est disponible sur différents OS (Linux, Mac OS X et Windows)
Téléchargez la dernière version du compilateur en cliquant ici .
Installation du compilateur Go sous Linux
Téléchargez l’archive et extrayez l'archive dans le dossier /usr/local/ avec la commande suivante
sudo tar -C /usr/local -xzf [NOM_ARCHIVE].tar.gz
Ensuite il faut ajouter le binaire de votre compilateur /usr/local/go/bin/ à votre variable d'environnement PATH en tapant la commande suivante :
echo "export PATH=\$PATH:/usr/local/go/bin" >> ~/.bashrc
source ~/.bashrc
Installation du compilateur Go sous Windows
Exécuter le fichier MSI et suivez les instructions de votre fenêtre pour installer les outils Go.
L'architecture de Go
Avant de lancer notre programme, il serait intéressant de comprendre l'architecture de go.
Déja lors de votre installation des outils, go vous a créé plusieurs variables d'environnement dont deux variables d'environnements importantes nommées respectivement :
- GOROOT : contient comme valeur un dossier destiné à votre compilateur
- GOPATH : contient comme valeur un répertoire d’espace de travail, c'est ici qu'il cherche les packages que vous importez
Si vous ne connaissez pas la valeur de variable d'environnement GOPATH alors vous pouvez utiliser la commande suivante :
go env
Si vous vous placez sur votre variable d'environnement GOPATH, vous observerez l'arborescence suivante :
$GOPATH
├──── bin
├──── pkg
└──── src
Voici la description de chaque dossier :
- src : contient les sources de votre projet et des librairies utilisées
- pkg : contient des fichiers avec l'extension .a ( a pour archivé ), ces fichiers sont une version compilée de votre code source original,
- bin : contient des commandes exécutables.
Tester votre compilateur GO
Maintenant que vous avez compris le fonctionnement de l'architecture de GO, placez vous sur le répertoire $GOPATH/src/.
A fin de tester votre compilateur, il faut créer un programme GO et l'exécuter.
Créez un fichier et nommez le test.go et mettez le code suivant puis sauvegardez :
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
Testez ensuite votre programme avec la commande suivante :
go run test.go
Si tout se passe bien vous devriez avoir comme sortie :
Hello, World!
Bravo vous avez appris à lancer votre premier programme en GO "clap clap"👏 !
Dans le prochain chapitre je vais vous expliquer un peu plus en détail le code que vous venez d'exécuter.
Espace commentaire
Écrire un commentaire
Rejoignez la discussion
Vous devez être connecté pour poster un message.
28 commentaires
Pensez à bien vérifier vos droits en écriture sur le dossier
srcsi vous avez des erreurs de compilation bizarres.Utilise
go clean -i -rpour virer les objets et les binaires, ça fait le ménage proprement.Comment je fais pour nettoyer les fichiers temporaires de compilation dans
pkg?Exclusion sur le dossier
binde tonGOPATH, sinon il va te casser les pieds à chaque build.J'ai un souci avec mon antivirus sur Windows qui bloque l'exécution du binaire généré.
Ça arrive, le compilateur est assez strict sur la casse.
C'est bon, j'avais une faute de frappe sur le
fmt.Vérifie bien ton code, ça doit être exactement ça :
Le fichier
test.gone compile pas, il manque une parenthèse ou quoi ?Oui, exporte juste ton nouveau chemin dans ton profil :
Je peux modifier le
GOPATHpour mettre mes sources ailleurs que dans le dossier par défaut ?T'as bien initialisé ton module avec
go mod init nom-du-projet? C'est obligatoire depuis les versions récentes.Je n'arrive pas à importer des packages externes, ça me dit module introuvable.
Normalement non,
GOROOTest détecté automatiquement. Ne touche à rien sauf si tu as plusieurs versions installées.Le
go envme donne unGOROOTdifférent de ce que j'ai installé. Je dois le forcer ?Oui,
/usr/localappartient au root. Soit tu metssudo, soit tu installes dans ton$HOME, ce qui est parfois plus propre.J'ai une erreur permission denied lors de l'extraction dans
/usr/local. Obligé de mettresudo?go runexécute direct en mémoire sans laisser de trace. Si tu veux un binaire, utilisego build test.go.C'est quoi la différence entre
go runetgo build? J'ai testétest.goet ça crée rien dansbin.Évidemment. VS Code est juste une aide, le compilateur se fout totalement de ce que tu utilises pour écrire ton fichier.
Je bosse sur un serveur headless, je peux zapper l'éditeur VS Code et faire ça en CLI ?
Utilise
go env GOPATHtout simplement. Si c'est vide, c'est que ton install est bancale.Impossible de compiler, j'ai une erreur sur
GOPATH. Comment je vérifie où il pointe exactement ?Pas besoin de reboot. Ferme juste ton terminal et rouvre-le pour forcer le reload des variables d'environnement utilisateur.
Sur Windows, le path n'est pas reconnu dans mon terminal CMD. Faut reboot ou quoi ?