Inférence de type avec `:=`
Fait partie de la section Fondamentaux du Journey GO de Coddy — leçon 6 sur 109.
Explorons une manière pratique de créer et d'initialiser des valeurs en Go en utilisant le raccourci :=. C'est ce qu'on appelle l'inférence de type, où Go détermine automatiquement le type que vos données devraient avoir.
Pour créer un message texte, utilisez := :
message := "Hello, Go!"
fmt.Println(message)Après avoir exécuté ce code, vous verrez Hello, Go! affiché dans la console. Go a automatiquement su que message devrait être de type string.
Créons un nombre en utilisant := :
age := 25
fmt.Println(age)Cela affiche 25 dans la console. Go a automatiquement fait de age un type entier.
Créons un nombre décimal :
price := 19.99
fmt.Println(price)Cela affiche 19.99 dans la console. Go a automatiquement fait de price un type à virgule flottante.
Défi
DébutantDans ce défi, vous allez vous entraîner à utiliser l'opérateur := pour l'inférence de type en Go.
Le programme contient déjà des variables déclarées à l'aide du mot-clé var avec des types explicites. Votre tâche consiste à déclarer deux nouvelles variables en utilisant la syntaxe abrégée := qui permet à Go d'inférer les types automatiquement.
Complétez les TODOs dans le code pour que le programme affiche les valeurs correctes.
Aide-mémoire
Utilisez le raccourci := pour l'inférence de type en Go, où Go détermine automatiquement le type de la variable :
Création d'une variable de type chaîne (string) :
message := "Hello, Go!"
fmt.Println(message)Création d'une variable de type entier (integer) :
age := 25
fmt.Println(age)Création d'une variable à virgule flottante (floating-point) :
price := 19.99
fmt.Println(price)Essayez vous-même
package main
import "fmt"
func main() {
// Variables déclarées avec des types explicites
var name string = "Gopher"
var age int = 5
// TODO: Déclarer une variable nommée 'language' avec la valeur "Go" en utilisant la syntaxe :=
language ? "Go"
// TODO: Déclarer une variable nommée 'version' avec la valeur 1.18 en utilisant la syntaxe :=
version ? 1.18
// Afficher toutes les variables
fmt.Println("Name:", name)
fmt.Println("Age:", age)
fmt.Println("Language:", language)
fmt.Println("Version:", version)
}
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
4Opérateurs de comparaison et logiques
Opérateurs de comparaison - Partie 1Opérateurs de comparaison - Partie 2Opérateur logique ANDOpérateur logique OROpérateur logique NOTBases de la priorité des opérateursRécapitulatif - Effectuer des comparaisons7Structures de contrôle : Les boucles
Explication de la boucle `for`Boucle For - Les basesBoucle For - Condition uniquementLe mot-clé `break`Le mot-clé `continue`Boucles imbriquéesRécapitulatif - Répéter des actions2Variables et types de données de base
Qu'est-ce qu'une variableInférence de type avec `:=` Entiers (int)Nombres à virgule flottanteBooléensChaînes de caractères (Strings)Valeurs zéroConstantesConventions de nommageRécapitulatif - Variables et types5Entrées/Sorties de base
Sortie formatéeVerbes de formatageAffichage des typesSaisie utilisateur de baseRécapitulatif - Entrées et Sorties8Fonctions
Comprendre les fonctionsDéclarer une fonctionAppeler des fonctionsParamètres de fonctionRetourner une valeur uniqueRetourner plusieurs valeursValeurs de retour nomméesBases de la portée des fonctionsRécapitulatif - Créer du code réutilisable11Types composites : Slices
Introduction aux SlicesDéclaration de littéraux de SlicesCréation de Slices avec `make`Longueur vs Capacité des SlicesAccès aux éléments d'un SliceAjout d'élémentsDécoupage de Slices/Tableaux existantsItération sur les SlicesCopie de SlicesRécapitulatif - Listes dynamiques3Opérateurs de base
Opérateurs arithmétiquesOpérateur de divisionL'opérateur moduloOpérateur d'affectationOpérateurs d'affectation augmentéeIncrémentation et décrémentationRécapitulatif - Calculs6Structure de contrôle : Les conditionnelles
L'instruction `if`Le mot-clé `else`Le mot-clé `else if`Masquage de variable dans `if`Initialisation des variablesL'instruction `switch``switch` avec expressions`switch` sans expressionLe mot-clé `fallthrough`Récapitulatif - Prendre des décisions9Pointeurs
Qu'est-ce qu'un pointeur ?Déclaration de variables pointeursL'opérateur d'adresseDéréférencement de pointeursUtiliser des pointeurs dans les fonctionsPointeurs NilRécapitulatif - Comprendre les pointeurs12Types composites : Maps
Introduction aux MapsDéclaration de littéraux de MapCréation de Maps avec `make`Ajout et mise à jour de paires clé-valeurAccès aux valeurs d'une MapVérification de l'existence d'une cléSuppression d'entrées de MapTaille d'une MapItération sur les MapsRécapitulatif - Stockage clé-valeur