Installer Go et LiteIDE avec Linux

Le langage Go est un langage de programmation multi-paradigme, intégrant des styles de la programmation impérative, parallèle, logique, fonctionnelle, objet. C'est un langage orienté objet, mais sans hierarchie de classe, il utilise des interfaces. Le langage est compilé avec typage statique des variables, 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, égale à celle du C. 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 libre par Google en 2009 à partir d'une conception de Robert Griesemer, Rob Pike et Ken Thompson.

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

(A remarquer, le grand nombre de caractères qui peut être utilisés pour programmer, comprenant lettres grecs, lettre accentués, caractères chinois, etc.. Cela permet de réduire la taille des noms de variable et des noms de fonctions et d'obtenir ainsi un code beaucoup plus lisible.)

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 hello.go

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- Installer LiteIDE x que l'on trouve ici http://liteide.org/en/download/ . Télécharger le fichier liteide-latest.linux-64-qt4.tar.bz2 valable pour un système linux à 64bits. Décompresser le fichier et placer le répertoire liteide dans le dossier de l'utilisateur. Pour lancer l'application : /home/<user>/liteide/bin/liteide

7- Environnement de go compatible avec liteide
Il y a des variables d'environnment du logiciel go que l'on peut consulter avec l'instruction

go env

Il faut désactiver GO111MODULE. cela se fait avec l'instruction

go env -w GO111MODULE=off

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

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

9- 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/<user>/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

Le dossier github.com n'est pas téléchargé au bonne endroit. Il est là /home/<user>/go/pkg/mod/github.com Et on le déplace dans /usr/lib/go/src/ . Puis dans le répertoire /usr/lib/go/src/github.com/veandco/ il faut renommer le dossier go-sdl2@v0.4.12 en go-sdl2

10- 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()
}

La première compilation dure un peu longtemps (1 minute). Les compilations suivantes sont quasi-instantanées.

2) Premier exemple, le calcul de n corps ponctuels en intéraction

Voir la description : Modèle de Newton
Voir le code source : modele-go.txt

3) Second exemple, la construction de monoïdes

Voir la description : Construction de monoïdes
Voir le code source :

 

--- 28 février 2022 ---

 

-------------------------------------------------------

OLD avec eclipse qui ne gère plus la compétion de code de golang :

1- Installer un Java VM version 8 ou plus

apt-get install default-jre

2- 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.

3- 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,
Selectionnez "Goclipse", Next, Next, Cochez "I accept the terme of the licence agreement", Finish
Redémarez eclipse.
Plus-tard, pour les mise à jour, faites : Help | Check for Updates...

4 Complétion de code
L'outil gocode n'est plus maintenue. Il fonction jusqu'à la version go 1.10 comprise, comme indiqué ici https://github.com/nsf/gocode

Il faut donc installer la version 1.10 de go, et pour eclipse le pakage "Photon" fonctionne.

5/ Environnement de go et préférenses d'eclipse.
Il y a des variables d'environnment du logiciel go que l'on peut consulter avec l'instruction

go env

Il faut désactiver GO111MODULE. cela se fait avec l'instruction

go env -w GO111MODULE=off

Lancez l'application eclipse.
Windows | Preferences
>Go>Tools :
Décochez ""Use default location (from go installation)"
gofmt : "Executable:" = /usr/lib/go/bin/gofmt
Bouton Apply
>Go :
Go Installation, Directory = /usr/lib/go
Décochez "Use same value as the GOPATH environnement variable
"Eclipse GOPATH" = :/home/<user>/go
Cochez "Also add projet location to GOPATH"
Bouton Apply
>Go>Tools :
gocode : Download,
guru : Doxnload,
godef : Download,
gofmt : Cochez "Use default location (from go installation)"
Bouton Apply and close.

6- Tester eclipse :
Nouveau projet | Autre | go projet
Dénommez le projet "essai"
Sur l'arboressance de gauche, cliquez droit sur src et créez un sous-dossier essai (ce sous-dossier est nécessaire car eclipse ne traite les fichiers .go qui sont à la racine de src)
Cliquez droit sur essai et créer un fichier .go
Saisissez dedans ceci :
     package main
     import "fmt"
     func main( ) { fmt.Println("Bonjour le Monde ! \n" ) }
Project | Build All
Run | Run configuration | go Application
Bouton Select de "go package to build", choisire "essai"
Bouton Apply, Bouton Run
Il doit s'afficher Bonjour le Monde !
Sur l'arboressance de gauche, le source est src/essai/essai.go, l'executable est bin/essai, et on peut les copier
Le source est /home/<user>/eclipse-workspace/essai/src/essai/essai.go
L'executable est /home/<user>/eclipse-workspace/essai/bin/essai

--- 2020 ---


Dominique Mabboux-Stromberg