GoGoPrimer
< Retour au module

Syntaxe de base

Variables et types

Go propose deux façons de déclarer une variable. La forme explicite avec `var`, qui précise le type, et la forme courte `:=`, qui laisse le compilateur déduire le type à partir de la valeur assignée.

var name string = "Riadh"
var age int = 41
 
// équivalent, plus idiomatique à l'intérieur d'une fonction
name := "Riadh"
age := 41

`:=` ne fonctionne qu'à l'intérieur d'une fonction, pour déclarer ET initialiser en même temps. Au niveau paquet (hors fonction), seule la forme `var` est autorisée.

Les types de base : `int` (entier signé, taille dépendant de la plateforme, 64 bits en pratique), `float64` (nombre à virgule flottante), `string` (chaîne de caractères UTF-8 immuable), `bool` (`true` ou `false`). Il existe aussi des variantes de taille explicite (`int32`, `int64`, `uint8`...) utiles quand la taille en mémoire compte.

Une variable déclarée sans valeur initiale reçoit automatiquement la valeur zéro de son type : `0` pour les nombres, `""` pour les chaînes, `false` pour les booléens. Il n'existe pas de variable non initialisée en Go, contrairement à C.

var count int // 0
var label string // ""
var ready bool // false

À toi de jouer

Déclare trois variables avec `:=` : `city` (une ville, string), `population` (un entier), `isCapital` (un booléen). Affiche-les avec `fmt.Println`.

package main
 
import "fmt"
 
func main() {
// tes déclarations ici
}