★ À maîtriser
Go a été développé chez Google à partir de 2007 par Robert Griesemer, Rob Pike et Ken Thompson pour dépasser les limites rencontrées avec le C++ dans les services cloud et les infrastructures distribuées.
La première version stable publique, Go 1.0, est sortie en mars 2012.
Les caractéristiques centrales de Go sont:
Compléments
Limites du C++ → Go : simplicité, performance et productivité
Go est utilisé pour les projets backend, les outils en ligne de commande, les infrastructures cloud et les systèmes distribués.
Docker est une plateforme de conteneurisation développée avec Go, tandis que Kubernetes est un système open source de gestion de conteneurs.
Docker et Kubernetes pilotent des conteneurs avec Go
Package → imports → code source
Tous les fichiers d’un même dossier appartiennent au même package, tandis qu’un sous-dossier peut définir un package différent.
Le package main doit contenir func main() et produit un binaire exécutable, tandis qu’un package utilitaire fournit du code réutilisable et ne peut pas être exécuté seul.
Pour qu’une fonction, un type, une variable ou une constante soit accessible depuis un autre package, son identifiant doit commencer par une majuscule.
main produit un binaire, un package utilitaire fournit du code réutilisable
★ À maîtriser
La commande go mod init <nom_du_module> initialise un module en créant le fichier go.mod.
La commande go fmt formate le code, go build compile un package ou un chemin en générant un exécutable, et go run compile puis exécute un fichier.
Compléments
Initier → nettoyer → formater → compiler ou exécuter
★ À maîtriser
Le type string représente une chaîne UTF-8 dont la valeur par défaut est "", tandis que le type rune représente un point de code Unicode dont la valeur par défaut est 0.
Les principaux types numériques sont:
Compléments
Typage statique : une variable garde son type
★ À maîtriser
📌 La déclaration explicite utilise var en indiquant le type, tandis que la déclaration inférée utilise := pour laisser Go déduire le type depuis la valeur affectée.
📌 L’opérateur = attribue ou modifie la valeur d’une variable, tandis que := déclare et initialise une nouvelle variable dans une portée adaptée.
Compléments
📌 Go permet de convertir explicitement une valeur avec la syntaxe de conversion de type, mais cette syntaxe ne suffit pas directement pour convertir une chaîne en entier.
var explicite, := inféré, = affecte
Une comparaison entre deux valeurs retourne un booléen true ou false, et les opérateurs logiques permettent de combiner plusieurs comparaisons.
Une construction if exécute son bloc si la condition est vraie, else if teste d’autres conditions et else s’exécute lorsqu’aucune condition précédente n’est vérifiée.
📌 L’instruction switch évalue une expression et exécute le premier case correspondant, tandis que default s’exécute lorsqu’aucun case ne correspond.
Comparer → combiner → conditionner
📌 La boucle for utilisée comme boucle tant que répète un bloc tant que sa condition est vraie et doit devenir fausse pour éviter une boucle infinie.
📌 Le mot-clé break interrompt immédiatement la boucle, tandis que continue saute le reste de l’itération courante et passe à la suivante.
Itérateur → tant que → range ; break sort, continue saute
★ À maîtriser
📌 Une variable globale est déclarée au niveau du package et accessible dans ses fonctions, une variable locale est accessible dans son bloc et ses blocs enfants, et un paramètre formel est accessible dans le corps de sa fonction.
Compléments
📌 Un paramètre formel portant le même nom qu’une variable globale masque cette variable globale à l’intérieur de la fonction.
Globale dans le package, locale dans le bloc, paramètre dans la fonction
| Type | Rôle | Exécution |
|---|---|---|
| main | Contient le point d’entrée func main() | Produit un binaire exécutable |
| Package utilitaire | Fournit des fonctions, types, constantes ou variables réutilisables | Ne peut pas être exécuté seul |
| Catégorie | Lieu de déclaration | Accessibilité |
|---|---|---|
| Globale | Niveau du package | Fonctions du même package |
| Locale | Fonction ou bloc | Bloc et blocs enfants |
| Paramètre formel | Signature de fonction | Corps de la fonction |
Teste tes connaissances sur Fondamentaux du langage Go avec 29 questions à choix multiples et corrections détaillées.
1. Dans quel contexte et par quelles personnes Go a-t-il été développé ?
2. À quelle date la première version stable publique de Go, appelée Go 1.0, est-elle sortie ?
Mémorisez les concepts clés de Fondamentaux du langage Go avec 66 flashcards interactives.
Qui a développé Go chez Google à partir de 2007 ?
Robert Griesemer, Rob Pike et Ken Thompson.
Pourquoi Go a-t-il été créé chez Google ?
Pour dépasser les limites du C++ dans les services cloud et infrastructures distribuées.
Quand est sortie la première version stable publique de Go ?
En mars 2012.
Importe ton cours et l'IA génère fiches, QCM et flashcards en 30 secondes.
Générateur de fiches