Go (souvent appelé Golang) est un langage de programmation open source conçu pour créer des logiciels rapides et fiables. Il est compilé, typé statiquement et doté d’un ramasse-miettes, avec un support natif de la concurrence. Cette leçon explique ce qu’est Go, d’où il vient, et pourquoi tant d’équipes le choisissent.
Qu’est-ce que Go ?
Go est un langage généraliste pensé pour être simple à lire et rapide à compiler.
Une seule commande go build transforme votre code source en un unique binaire
autonome, sans runtime externe à installer : les programmes Go sont donc faciles
à distribuer et à déployer.
Le langage garde volontairement un jeu de fonctionnalités réduit : ni classes, ni héritage, ni exceptions. À la place, Go vous offre des structs, des interfaces, des fonctions et un modèle de concurrence léger. Cette petite surface est un atout : elle rend le code cohérent et accessible, même à grande échelle.
Une brève histoire
Go a été conçu chez Google à partir de 2007 par Robert Griesemer, Rob Pike et Ken Thompson, qui voulaient un langage compilant vite et passant à l’échelle sur de grandes bases de code. Le projet a été publié en open source en 2009, et la version stable Go 1.0 est arrivée en 2012, avec une promesse de compatibilité ascendante toujours tenue aujourd’hui.
Depuis, Go est devenu l’un des langages les plus populaires pour le cloud et l’infrastructure. Des outils que vous utilisez peut-être déjà — Docker, Kubernetes ou Terraform — sont écrits en Go.
À quoi sert Go ?
Go brille dès qu’il faut des programmes réseau efficaces, faciles à déployer et à maintenir :
- Services réseau et API, grâce à une solide bibliothèque standard pour HTTP.
- Outils en ligne de commande (CLI), distribués en un seul binaire par plateforme.
- Logiciels cloud et d’infrastructure, où le démarrage rapide et la faible empreinte mémoire comptent.
- Charges concurrentes, gérées avec les goroutines et les canaux.
Les grands traits en un coup d’œil
| Trait | Ce que cela change pour vous |
|---|---|
| Compilé | Le code source devient du code machine natif |
| Typé statiquement | Les types sont vérifiés à la compilation |
| Ramasse-miettes | La mémoire est libérée automatiquement |
| Concurrence intégrée | Goroutines et canaux font partie du langage |
| Binaire unique | Aucun runtime à installer à côté du programme |
| Compilation rapide | Les gros projets se compilent en quelques secondes |
Un premier aperçu de Go
Nul besoin de tout comprendre pour l’instant. La ligne ci-dessous affiche un message dans le terminal :
fmt.Println("Bonjour, Go !")
Placée dans le plus petit programme complet, elle donne ceci — et le programme compile et s’exécute tel quel :
package main
import "fmt"
func main() {
fmt.Println("Bonjour, Go !")
}
Vous écrirez et exécuterez ce programme vous-même dans les deux prochaines leçons.
Idées reçues fréquentes
- « Go, c’est pareil que Golang. » C’est un seul langage ; « Golang » n’est
qu’un surnom hérité de son ancienne adresse web,
golang.org. - « Go est orienté objet comme Java. » Go n’a ni classes ni héritage ; il privilégie la composition avec les structs et les interfaces.
- « Go a besoin d’un lourd runtime. » Un programme Go compilé est un binaire autonome : aucune machine virtuelle ni interpréteur à installer sur la cible.
À vous de jouer
Sans rien exécuter pour l’instant, devinez ce qu’affiche le programme de la
section « Un premier aperçu de Go ». Écrivez ensuite le plus petit programme Go
complet qui affiche Go, c’est amusant ! sur sa propre ligne.
Afficher la correction
L’exemple affiche Bonjour, Go !. Un programme qui affiche
Go, c’est amusant ! ressemble à ceci :
package main
import "fmt"
func main() {
fmt.Println("Go, c’est amusant !")
}Tout programme Go exécutable démarre dans package main et lance la fonction
main ; fmt.Println écrit une ligne dans le terminal.
Résumé
- Go est un langage open source compilé, typé statiquement et à ramasse-miettes.
- Il a été créé chez Google, publié en open source en 2009, et a atteint la version 1.0 en 2012.
- Il excelle pour les services réseau, les CLI et l’infrastructure cloud, et se compile vite en un seul binaire portable.
Prêt à l’essayer ? Passez à l’installation de Go sur votre machine, puis écrivez votre premier programme Go. Vous pouvez aussi parcourir le cours Go complet.