Google Go, 'Hello world'
∞ • 21 Nov 2009
Geek dans l'âme, j'ai décidé d'installer Go sur ma machine, pour pouvoir le tester, l'installation n'a rien de complexe, et le tutorial fournit par Google n'est pas illisible, bref ça marche tout seul.
Je suis un mec sympas donc je vais quand même vous donner la marche à suivre pour l'installer sur Mac OS. En l'occurrence chez moi la version 10.6.2.
Primo, il vous faut lancer un terminal, je vous le dis, on va faire de la ligne de commande.
Assurez-vous d'avoir Python, Mercurial et XCode d'installés, ainsi qu'une connexion internet disponible. Si comme moi vous n'avez encore Mercurial, un simple :
bash$ sudo easy_install mercurial
devrait suffire, pour installer la bête. Pour infos Mercurial est le système de version utilisé par Google pour Go, ils auraient pu choisir svn ou git, mais non.
Ensuite vous devez mettre en place quelques variables d'environnement pour installer et utiliser Go, donc dans votre fichier
.bashrc
ou
.bash_profile
ajoutez les lignes suivantes :
export GOROOT=$HOME/go
export GOOS=darwin
export GOARCH=386
export GOBIN=$HOME/bin
export PATH=$GOBIN:$PATH
Sachant que vos projets Go sont cross-compiler, vous pouvez changer à loisir les variables
$GOOS
et
$GOARCH
puisque celle-ci visent la machine sur laquelle vous souhaitez faire tourner votre projet.
Les valeurs pour $GOOS sont :
linux,
darwin,
natcl (portage non complet)
et pour $GOARCH:
@amd64,
386,
arm
sachant qu'arm n'est pas encore supporté sous mac os.
faites un :
bash$ source .bashrc
pour charger les variables, puis un petit
bash$ env | grep ^GO
pour vérifier leurs présence.
vous devriez être donc près à récupérer et compiler Go.
Assurez-vous que le dossier
$HOME/go
n'existe pas, et ensuite tapez :
bash$ hg clone -r release https://go.googlecode.com/hg $GOROOT
Mercurial devrait récupérer les sources sur le net, si tout ce passe bien vous devriez finir sur la ligne suivante :
N files updated, 0 files merged, 0 files removed, 0 files unresolved
Nous allons pouvoir commencer la compilation de Go. First step, verifier l'existence du dossier
$HOME/bin
si celui n'existe pas, un petit
bash$ mkdir $GOBIN && chmod 755 $GOBIN
devrait suffire.
Maintenant allez dans le repertoire $GOROOT/src, et entrez la commande suivante
./all.bash
et la compilation commence. Vous devriez voir tout une séries de lignes de code incompréhensible pour le commun des mortels, sauf pour nous les geeks fan de la ligne de commande et de la compilation à la mano ^^
Si tout ce passe comme sur des roulettes, le message final devrait être :
--- cd ../test
N known bugs; 0 unexpected bugs
Mais si comme moi, vous ne voyez jamais apparaitre la ligne finale vous indiquant que tout c'est bien passé... et bien voici ce que j'ai fais, j'ai tous simplement killer mon Terminal. J'ai bien essayé un Ctrl+C mais rien à faire le programme ne se coupe pas.
Enfin bref, cela n'empêche pas le compilateur Go d'être enfin près à l'utilisation. Si vous compiler pour amd64 le compilateur sera 6g, et le linker 6l, pour 386, 8g et 8l, et pour arm, 5g et 5l.
C'est maintenant le moment de créer votre premier programme Go, pour cela direction votre éditeur de texte favoris, au hasard emacs, le code d'un hello world est tout simple, le voici :
package main
import "fmt"
func main() {
fmt.Printf("hello, world\n")
}
Sauvegarder le tout sous un jolie nom comme hello.go, et en ligne de commande entrez un simple :
bash$ 8g hello.go
bash$ 8l hello.8
bash$ ./8.out
la sortie ne devrait pas ce faire attendre :
hello, world
Maintenant vous avez en mains les clés pour commencer à développer en Go.