Plutôt que de parler de Ruby, je vais élargir le spectre de notre blog dans une série d’articles sur la découverte du langage Go.
Go est bien loin de Ruby par bien des aspects, il s’agit d’un langage compilé, statiquement typé et concurrent. Son modèle objet est également très loin de ce que l’on trouve en Ruby.
Pour autant, on retrouve des bibliothèques standards cohérentes, un ramasse-miette, une forme de duck-typing, de l’inférence de type, une compilation très rapide, etc. Ces points rendent Go très proche, dans la pratique, d’un langage de script.
L’installation de Go est très simple. Il vous faut tout d’abord télécharger le compilateur puis le décompresser où bon vous semble. Ensuite, il vous faut définir quelques variables d’environnement :
export GOPATH=/where/you/will/write/go/code
export GOROOT=/where/you/unzip/the/go/compiler
export PATH=$GOROOT/bin:$PATH
Les variables GOROOT
et PATH
ont une signification classique dans le monde Unix.
La variable GOPATH
pointe le répertoire dans lequel vous devez écrire votre code,
c’est également ici que sont rappatriées les sources des packages externes.
Une fois ces deux étapes effectuées, vous pouvez vous rendre dans GOPATH
…
L’arborescence du répertoire GOPATH
est composée de 3 répertoires principaux :
bin
: les exécutables compilés,pkg
: les bibliothèques etsrc
: les sources des bibliothèques et applications.Le code se décompose en deux types de packages : bibliothèques et programmes.
Le système de package de Go est simple et efficace. Vous choississez une URL et
l’ajoutez dans le $GOPATH/src
, par exemple un package nommé synbioz/gosteps
aura ses sources dans $GOPATH/src/synbioz/gosteps
.
Les bibliothèques ne produisent pas de fichiers binaires mais des fichiers
précompilés destinés à être réutilisés. Ces fichiers sont placés dans le
répertoire $GOPATH/pkg
.
La convention veut que le dernier élément du chemin du package soit son nom. Ainsi dans notre exemple on aura l’entête suivante pour les fichiers du package :
package gosteps
La compilation et l’installation peuvent se faire via les commandes suivantes :
go build n25/gosteps
go install n25/gosteps
Les programmes sont identiques aux bibliothèques mais utilisent main
comme nom
de package.
La compilation et l’installation peuvent se faire via les mêmes commandes que
pour les bibliothèques. Par contre à l’issue de l’installation, c’est un binaire
qui sera placé dans le dossier $GOPATH/bin
. Ce binaire généré portera le nom
du dernier élément du chemin du package.
Depuis les packages, on peut référencer le contenu des autres bibliothèques avec le mot clé import :
import "synbioz/gosteps"
Ensuite, on utilise le contenu du pakage importé en le préfixant de son nom :
gosteps.Hello()
Seules les fonctions commencant par une majuscule sont visibles de l’extérieur d’un package. Idem pour les champs des structures, mais nous en reparlerons…
Voila pour ce premier article concernant Go et son installation.
Dans mes prochains articles, j’aborderai plus en détails les fonctionnalités du langage en mettant en place une intelligence articifielle pour le jeu Quarto.
L’équipe Synbioz.
Libres d’être ensemble.