Leçons du module (1/5)
Variables et types
En Go, chaque variable a un type statique connu du compilateur : une fois déclarée, une variable ne peut pas changer de type. Cette rigidité — très différente à partir de JavaScript ou Python - est le prix que vous payez pour obtenir le temps de compilation erreurs au lieu de celles d'exécution, petits binaires et prévisibles performances.
Deux formes de déclaration
var avec type explicite
var name string = "Ada"
var age int = 36
var active boolLorsque vous omettez la valeur (comme dans var active bool), la variable reçoit la valeur
valeur nulle de son type — nous y reviendrons dans la prochaine leçon.
Déclaration courte :=
Dans une fonction, vous pouvez utiliser :=, qui déduit le type à partir du
expression à droite. C'est la forme idiomatique et celle que vous utiliserez
90% du temps :
name := "Ada" // string
age := 36 // int
pi := 3.14 // float64
active := true // boolLes types de base que vous rencontrerez tout de suite
| Tapez | Exemple | Remarques |
|---|---|---|
int | 42 | la taille dépend du CPU (32 ou 64 bits) |
float64 | 3.14 | par défaut pour les littéraux décimaux |
string | "Ada" | UTF-8, immuable |
bool | true, false | pas de "vrai", seulement du pur booléen |
rune | 420 | alias de 421, représente un point de code Unicode |
422 | 423 | pseudonyme de 424 |
Il existe également int8/16/32/64, uint8/16/32/64, float32 et complex64/128
lorsque vous avez besoin de tailles précises (analyse binaire, interopérabilité, etc.).
Déclarations multiples
Vous pouvez déclarer plusieurs variables avec un bloc var ou un pluriel := :
var (
name string = "Ada"
age int = 36
active bool
)
x, y := 10, 20
a, b, c := "a", 2, true // different types: no problemVariables déclarées mais non utilisées
Go est strict : une variable déclarée et jamais utilisée est une compilation
erreur, pas un avertissement. Il en va de même pour les import inutilisés.
func main() {
x := 42
// error: x declared and not used
}Pour désactiver temporairement la règle, vous utilisez _ (identifiant vide) :
_ = xA ton tour
Utilisez var pour déclarer un nom de variable de type chaîne avec la valeur 'Ada' et l'imprimer.
Afficher l'indice
La forme longue est `var <name> <type> = <value>`.
Solution disponible après 3 tentatives
Sur une seule ligne, utilisez := pour attribuer 36 à l'âge et « Roma » à la ville, puis imprimez les deux.
Afficher l'indice
Vous pouvez affecter plusieurs variables à la fois : `a, b := 1, "due"`.
Solution disponible après 3 tentatives
Laquelle de ces déclarations produit une erreur de compilation si elle est placée À L'EXTÉRIEUR d'une fonction ?
// (a)
var name string = "Ada"
// (b)
age := 36
// (c)
const PI = 3.14Récapitulatif
- Type statique, automatiquement déduit par
:=ou déclaré avecvar. :=uniquement à l'intérieur des fonctions ; au niveau du package uniquementvar/const.- Variables et importations inutilisées = erreur de compilation : utilisez
_pour les faire taire. int/float64/string/boolcouvrent 90% des cas courants.