Passer au contenu principal
eLearner.app
Module 1 · Leçon 1 sur 51/50 dans le cours~10 min
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

Go
var name string = "Ada"
var age int = 36
var active bool

Lorsque 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 :

Go
name := "Ada"   // string
age := 36        // int
pi := 3.14       // float64
active := true   // bool

Les types de base que vous rencontrerez tout de suite

TapezExempleRemarques
int42la taille dépend du CPU (32 ou 64 bits)
float643.14par défaut pour les littéraux décimaux
string"Ada"UTF-8, immuable
booltrue, falsepas de "vrai", seulement du pur booléen
rune420alias de 421, représente un point de code Unicode
422423pseudonyme 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 := :

Go
var (
    name   string = "Ada"
    age    int    = 36
    active bool
)

x, y := 10, 20
a, b, c := "a", 2, true   // different types: no problem

Variables 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.

Go
func main() {
    x := 42
    // error: x declared and not used
}

Pour désactiver temporairement la règle, vous utilisez _ (identifiant vide) :

Go
_ = x

A ton tour

Exercice#go.m1.l1.e1
Tentatives : 0Chargement…

Utilisez var pour déclarer un nom de variable de type chaîne avec la valeur 'Ada' et l'imprimer.

Chargement de l'éditeur…
Afficher l'indice

La forme longue est `var <name> <type> = <value>`.

Solution disponible après 3 tentatives

Exercice#go.m1.l1.e2
Tentatives : 0Chargement…

Sur une seule ligne, utilisez := pour attribuer 36 à l'âge et « Roma » à la ville, puis imprimez les deux.

Chargement de l'éditeur…
Afficher l'indice

Vous pouvez affecter plusieurs variables à la fois : `a, b := 1, "due"`.

Solution disponible après 3 tentatives

Quiz#go.m1.l1.e3
Prêt

Laquelle de ces déclarations produit une erreur de compilation si elle est placée À L'EXTÉRIEUR d'une fonction ?

Go
// (a)
var name string = "Ada"

// (b)
age := 36

// (c)
const PI = 3.14
Options de réponse

Récapitulatif

  • Type statique, automatiquement déduit par := ou déclaré avec var.
  • := uniquement à l'intérieur des fonctions ; au niveau du package uniquement var/const.
  • Variables et importations inutilisées = erreur de compilation : utilisez _ pour les faire taire.
  • int/float64/string/bool couvrent 90% des cas courants.