Le langage Go

Le langage Go est un langage de programmation multi-paradigme, intégrant des styles de la programmation impérative, parallèle, logique, fonctionnelle, objet. Le langage Go a un système de type statique, fortement typé, structurel et sûr, basé sur l'inférence de types avec la possibilité d'utiliser un typage explicite. Il est multi-thread.

Le langage Go est inspiré du C et du Pascal, facile à comprendre et facile à adopter. La compilation du Go est trés rapide. La rapidité d'exécution est aussi visée. Il peut être utilisé aussi bien pour écrire des applications, des scripts ou de grands systèmes. Sa simplicité est voulue pour assurer la maintenance et l'évolution des programmes sur plusieurs générations de développeurs.

Dans le langage Go, la gestion de la mémoire est laissée à un ramasse-miette.

Ce langage a été conçu initialement par Keith Clark et Francis McCabe sous le nom de Go! en 2003, puis développé en open-source par Google en 2009 à partir d'une conception de Robert Griesemer, Rob Pike et Ken Thompson.

Documents : golang-france | go-par-l-exemple.pdf

1) Installation

1- Installez gedit. C'est un éditeur de texte trés pratiques avec coloration syntaxique pour de nombreux langages dont go :

apt-get install gedit

2- Installez git. Cela nous sera utile pour télécharger les outils :

apt-get install git 

3- Installez go. Sur Ubuntu tapez la commande suivante en étant root :

apt-get install golang

4- Créer un répertoire go dans votre répertoire personnel et créer le répertoire go/bin. Cela servira pour télécharger les outils. C'est votre espace de travail en plus de celui qui va être installé par eclipse.

5- Testez votre compilateur go. Créer un répertoire go/hello et un fichier /go/hello/hello.go dans le quel vous écrivez ceci :

package main
import "fmt"
func main() {
     fmt.Println("Bonjour le Monde ! \n" )
   }

Placez vous dans le répertoire /go/hello/ et tapez la commande suivante :

 go build

Cela compile les programmes présent dans le répertoire et donc cela compile hello.go et cela crée un executable hello, que vous pouvez lancer en tapant

.\hello
Bonjour le Monde !   

6- Déterminer où se trouve le compilateur go. Tapez la commande

 type go 

Vous aurez une réponse du genre : go est /usr/bin/go. dans ce cas le chemin d'installation est /usr. Celui ci contient un dossier bin qui contient le binaire go.

7- Installer un Java VM version 8 ou plus

8- Télécharger Eclipse IDE for C/C++ Developpers à partir du site https://www.eclipse.org/downloads/eclipse-packages/ . Décompressez-le et placez le dossier complet dans votre répertoire personnel en le renommant eclipse.

9- Installer Goclipse. Lancez l'application eclipse par un double click sur eclipse/eclipse
Help| Install New Software... Cliquez Add, puis entrez le site de mise à jour http://goclipse.github.io/releases/ et faire ok, suivant, terminer.
Redémarez eclipse.
Par la suite, pour les mise à jour, faites : Help| Check for Updates...

10- Paramètrer les préférense d'eclipse. Lancez l'application eclipse
On n'exporte pas de variable d'environnement GOPATH et GOROOT
Windows|Preferences >Go "Go Installation" = /usr
Décochez "Use same value as the GOPATH environnement variable
"Eclipse GOPATH" = :/home/dmabboux/go
Cochez "Also add projet location to GOPATH"
Tools, gocode Download, guru Doxnload, godef Download,
gofmt Cochez "Use default location (from go installation)"
Cochez "Format automatically on editor save"
Cliquez sur Apply and close

11-Installer le framework SDL2, tapez la commande suivante en étant root :

apt-get install libsdl2{,-mixer,-image,-ttf}-dev

12- Télecharger le package sdl (utilisé par les programmes go contenant l'instruction import "github.com/veandco/go-sdl2/sdl")
On crée momentanément une variable d'environnement GOPATH.

export GOPATH=/home/martin/go
go get -v github.com/veandco/go-sdl2/sdl
go get -v github.com/veandco/go-sdl2/mix
go get -v github.com/veandco/go-sdl2/img
go get -v github.com/veandco/go-sdl2/ttf

13- Testez le package sdl.

package main
import "github.com/veandco/go-sdl2/sdl"
func main() {
   sdl.Init(sdl.INIT_EVERYTHING)
   W,_:= sdl.CreateWindow("test", 0, 0, 800, 600, sdl.WINDOW_SHOWN)
   defer W.Destroy()
   O,_:= W.GetSurface()
   r := sdl.Rect{0, 0, 200, 200}
   O.FillRect(&r, 0xffff0000)
   W.UpdateSurface()
   sdl.Delay(1000)
   sdl.Quit()
}

2) Caractères

Un beaucoup plud grand nombre de caractères peut être utilisés pour programmer (lettres grecs, lettre accentuézs, caractères chinois...). Cela permet de réduire la taille des noms de variable ou de fonction et d'obtenir ainsi un code beaucoup plus lisible.

 

 

---- 20 juillet 2017 ----

 

 

 

 


Dominique Mabboux-Stromberg