Notes et transcriptions du cours “Démarrer avec Go” proposée par University of California, Irvine disponible sur la plateforme coursera.
Introduisons ici l'outil Go. Il comporte de nombreuses fonctionnalités, et nous les aborderons dans différents cours, notamment pendant la spécialisation.
Commençons avec le mot clé import
et abordons les étapes de l'importation. Les paquets que nous allons importer au départ seront les paquets intégrés (built-in packages), ceux fournis avec le langage Go, ils suffiront pour implémenter les différentes fonctions d'exemple que nous allons utiliser dans le cours.
Précédemment, nous avons utilisé le paquet fmt
, qui contient l' instruction printf
pour afficher un message dans la console.
Si votre code source utilise une importation, l'outil Go devra retrouver les packages à importer pour effectuer la compilation. Il effectue donc une recherche dans les répertoires spécifiés par les variables d'environnement GOROOT
et GOPATH
.
Si vous conservez tout dans le GOPATH
et le GOROOT
, donc dans votre espace de travail, l'outil Go les trouvera. Si vous décidez d'importer un package depuis un autre endroit et qu'il se trouve dans un répertoire différent, vous devrez modifier/adapter vos chemins GOPATH
et GOROOT
. Vous allez devoir changer les variables d'environnement, ajouter le ou les chemins, pour que l'outil Go puisse les trouver.
Dans la majeure partie de ce cours, cela ne posera aucun problème car nous ne le ferons pas. Cependant à l'avenir, lorsque vous travaillerez avec un code très volumineux, vous devrez peut-être modifier ces variables d'environnement afin de pouvoir trouver les packages que vous recherchez.
Lorsque vous téléchargez Go, vous obtenez cet outil Go, un outil général utilisé pour gérer le code source de Go. Il existe de nombreuses commandes, un tas de commandes différentes pour lesquelles vous pouvez utiliser l'outil Go.
La première sera go build
qui permet de compiler le programme. go build
peut être invoqué sans arguments, auquel cas il compile simplement un fichier d'extension .go dans le répertoire local.
Mais vous pouvez lui donner un ensemble de packages, un tas de noms de packages ou un ensemble de fichiers .go que vous souhaitez compiler. Vous pouvez le donner comme argument à cette commande go build. Il construira tout ce que vous lui demanderez de construire, ou vous pourriez simplement invoquer go build
.
En fait, c'est ce que j'ai fait dans l'exemple. J'ai juste frappé go build
, et comme j'étais déjà dans le répertoire où j'avais mon paquet main
, l'outil Go a pu compiler. Il a produit un exécutable pour le package main
qui porte le même nom que le premier fichier .go. Ici nous n'avions qu'un seul fichier .go, l'exécutable a donc ce nom.
Le suffixe “.exe” est ajouté les exécutables dans Windows en général. Il devrait se trouver dans le répertoire où vous avez effectué la compilation. Si vous ne lui donnez aucun autre argument, il le placera simplement dans le même répertoire.
Il y a des tonnes d'arguments pour cette commande, et je ne vais pas vraiment les détailler, mais vous pouvez avoir des arguments où vous pouvez lui demander de construire et de placer l'exécutable dans un autre répertoire, etc.
La commande go doc
imprime la documentation d'un package. Nous y reviendrons plus tard, mais en tant que programmeur, vous devez mettre la documentation dans votre package, et go doc
se chargera de la récupérer depuis les sources de tous vos packages et de l'imprimer.
La commande go format
, met en forme (reformate) les fichiers de code source. Nous n'allons donc pas trop nous attarder là-dessus, mais si vous programmez, vous devez avoir entendu des arguments selon lesquels « Oh, vous avez besoin de ce type d'indentation et d'autres choses de ce genre ». Donc, cette commande go format
va simplement le mettre en retrait comme recommandé. Il vous suffit de lui donner le fichier de code source, et il l'indentera correctement.
Il existe une indentation standard : on n'est pas contraint de s'y conformer. Ce n'est pas Python.
La commande go get
permet le téléchargement et installation des paquets. Donc, si vous souhaitez obtenir de nouveaux packages qui font des choses dont vous avez besoin et qui ne sont pas des packages standard fournis par défaut, vous pouvez invoquer go get
.
La commande go list
permet de lister tous les packages installés.
La commande go run
compile les sources et invoque l'exécutable produit. Notons que lorsqu'on invoque simplement go build
, le code est compilé mais pas exécuté.
La commande go test
sera détaillée à la fin du cours, via la spécialisation. Elle exécute des tests. En gros, vous avez un tas de fichiers de test qui se terminent “_test.go”, et vous pouvez exécuter ces tests à l'aide de la commande go test
. Mais nous aborderons cela plus tard.