Le langage Go est un langage de programmation multi-paradigme, intégrant des styles de la programmation impérative, logique, fonctionnelle, objet, multi-thread asynchrone utilisant des cannaux. 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.
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 plus lisible.
Les déscritptions de l'interface graphique du système sont celle du système Kunbuntu 23.
Sur les distributions de la famille Debian tapez la commande suivante en étant root :
apt-get install golang
Créer un fichier 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 le contenant et tapez la commande suivante :
go build hello.go
Cela compile le programme hello.go en un executable hello, que vous pouvez lancer en tapant
./hello
Bonjour le Monde !
Allez voir https://github.com/visualfc/liteide. Les versions compilées du logiciel se trouve ici https://github.com/visualfc/liteide/releases. Télécharger le fichier liteidex38.3.linux64-qt4.8.7.AppImage.
(Sous linux Kubuntu) Rendez le fichier exécutable (Click droits | Propriété | Droit d'accès | est executable), et déplacez-le dans par exemple le répertoire /home/dmabboux/Applications/
Créer un raccourci sur le bureau (cliquer-déplacer sur le bureau | Lier ici)
Démarrez LiteIDEX. Le journal des évènements affiche les variables d'environnement de go, et en particulier on vera affiché :
GOROOT='/usr/lib/go-1.21'
GOPATH='/home/dmabboux/go'
On désactive la gestion des modules qui n'est utile que lorsque on doit gére des versions différentes de go. Outils | Définir GOPATH/Modules, cochez GO111MODULE perosnnalisé et mettez à "off", Apply, OK.
Cliquez sur "1:Répertoire". Vous voyez le répertoire Desktop, et vous pouvez le fermer.
Cliquez sur "5:Navigateur de Package Go". Vous voyez les paquets préinstallés du système /usr/lib/go-1.21 et les paquets locaux /home/dmabboux/go qui est vide.
Créer un projet de commande : Fichier | Nouveau | Go1 Command Project, et nommez-le Hello, l'emplacement par défaut est /home/dmabboux/go/src/Hello. Puis chargez-le. c'est un exemple de programme tout simple par défaut qui est chargé. Le répertoire Hello apparait. Puis on compile le programme. Compilation | BuildAndRun
Dans le répertoire Hello (qui se trouve dans /home/dmabboux/go/src/) on voit 3 fichiers :
doc.go contient le nom du package qui doit être "main".
Hello est le code binaire résultat de la compilation
main.go est le
code source du package main avec la fonction "main".
Allez voir https://github.com/veandco/go-sdl2. Tapez la commande suivante en étant root :
apt install libsdl2{,-image,-mixer,-ttf,-gfx}-dev
Créer un projet de paquet : Fichier | Nouveau | Go1 Package Project, et nommez-le sdl2, l'emplacement par défaut est /home/dmabboux/go/src/sdl2. Puis chargez-le. Le répertoire sdl2 apparait.
Sur le site https://github.com/veandco/go-sdl2, cliquez sur le bouton "Code" en vert | Download ZIP, cela télécharge tous les codes sources dans un fichier zip go-sdl2-master.zip, décompressez-le : Clique droit | Extraire | Extraire ici. Afficher les fichiers cachés et copiez tous le contenu pour le coller dans le dossier /home/dmabboux/go/src/sdl2.
Puis on compile tous les programmes : Compilation | BuildAll. Cela dure un certain temps. La première compilation dure un peu longtemps (1 minute). Les compilations suivantes sont quasi-instantanées.
Premier exemple, le calcul de n corps ponctuels en intéraction :
Voir la description : Modèle de NewtonSecond exemple, la construction de monoïdes :
Voir la description : Construction de monoïdes
Voir : Mathématique/Monoide.html
--- 28 novembre 2023 ---