Eklablog Tous les blogs
Editer l'article Suivre ce blog Administration + Créer mon blog
MENU

Blog traitant d'informatique, de programmation, de python, de golang, de linux...

Publicité

Go/Golang, la renaissance de ce blog...(?)

Go veut faciliter et accélérer la programmation à grande échelle : en raison de sa simplicité, il est donc concevable de l’utiliser aussi bien pour écrire des applications, des scripts ou de grands systèmes. Cette simplicité est nécessaire aussi pour assurer la maintenance et l’évolution des programmes sur plusieurs générations de développeurs.

S’il vise aussi la rapidité d’exécution, indispensable à la programmation système, il considère le multithreading comme le moyen le plus robuste d’assurer sur les processeurs actuels cette rapidité9 tout en rendant la maintenance facile par séparation de tâches simples exécutées indépendamment afin d’éviter de créer des « usines à gaz ». Cette conception permet également le fonctionnement sans réécriture sur des architectures multi-cœurs en exploitant immédiatement l’augmentation de puissance correspondante.

Un des sites principaux de référence du langage go est https://go.dev/ .

Un autre site relatif à Fyne, un ensemble de packages permettant la création d'IHM se trouve à l'adresse https://developer.fyne.io/index.html

Pour plus de détails sur l'utilisation de Fyne, c'est ici

Certes, ce langage a été créé chez Google, mais autant je suis en désaccord avec un certaine partie de leur politique, autant je ne peux que reconnaitre la qualité technique de ce qu'ils sont capable de créer ! Y'a que les c*ns qui ne changent pas d'avis...:-)

Pour finir cet article de présentation et pour aborder les bibliothèques, je reprendrai ci-après une partie de la page Wikipedia que je vous invite à aller visiter...

Bibliothèques

Comme le C, Go exige d'indiquer quelles bibliothèques on utilisera. À la différence du C, il considère la compilation en erreur si cette bibliothèque n'est pas utilisée. Le compilateur Go ne contient en effet pas de messages d'avertissements par choix des concepteurs : « Il n'est pas indispensable de signaler ce qu'il ne serait pas indispensable de corriger ».

Principales bibliothèques :

  • fmt fournit 19 fonctions de mise en forme des entrées-sorties dont Println, Print et Printf ;
  • fyne fournit une pléthore de widgets d'interface graphique utilisateur19, et est bien entendu multiplateforme : Windows, Mac, Linux, Android...
  • io fournit des procédures d'entrées-sorties elles-mêmes, dont ReadFull, Seek, WriteString...
  • math fournit un ensemble de fonctions mathématiques, telles que Min, Max, Sqrt, Log...
  • os interface le système, par exemple pour ouvrir et fermer des fichiers, dont OpenFile, ReadAt...
  • strings fournit une cinquantaine de fonctions traitant des chaînes de caractères ;
  • time fournit des outils de mesure des temps d'exécution, dont time.Now et time.Since().

Les bibliothèques sont tantôt indépendantes, tantôt dépendantes. Il existe par ailleurs plusieurs façons de faire des choses similaires. Par exemple pour lire un fichier, on pourra utiliser ioutil.ReadAll, file.Read() ou bufio.NewScanner().

On obtient la liste des bibliothèques depuis la ligne de commande par go list all.

 

Pour jeter un coup d'oeil à la bibliothèque standard, c'est ici

Suite de cette aventure dans les prochains articles...

Publicité
Retour à l'accueil
Partager cet article
Repost0
Pour être informé des derniers articles, inscrivez vous :
Commenter cet article