Sortie formatée
Fait partie de la section Fondamentaux du Journey GO de Coddy — leçon 29 sur 109.
Apprenons à formater notre sortie en Go en utilisant la fonction fmt.Printf(). Cette fonction nous permet d'afficher des valeurs dans des formats spécifiques en utilisant des espaces réservés.
Tout d'abord, créons un programme qui formate différents types de données à l'aide d'espaces réservés :
name := "Gopher"
age := 5
height := 1.5
fmt.Printf("Name: %s, Age: %d, Height: %.1f\n", name, age, height)Après l'exécution de ce code, le texte "Name: Gopher, Age: 5, Height: 1.5" s'affichera à l'écran. Les espaces réservés dans notre chaîne sont remplacés par les valeurs réelles de nos variables.
Comprenons ce que fait chaque espace réservé :
// %s est remplacé par une valeur de type chaîne (name)
// %d est remplacé par une valeur entière (age)
// %.1f est remplacé par une valeur flottante affichant 1 décimale (height)
// %t est remplacé par une valeur booléenne (true ou false)La fonction fmt.Printf() remplace chaque espace réservé par la variable correspondante que nous fournissons après la chaîne de formatage. L'ordre des variables doit correspondre à l'ordre des espaces réservés.
Essayons maintenant un autre exemple avec différents types de formatage :
pi := 3.14159
percentage := 0.75
letter := 'A'
fmt.Printf("Pi: %.2f, Percentage: %.1f%%, Letter: %c\n", pi, percentage*100, letter)Après l'exécution de ce code, le texte "Pi: 3.14, Percentage: 75.0%, Letter: A" s'affichera à l'écran. Remarquez comment %.2f n'affiche que 2 décimales pour pi, et nous multiplions le pourcentage par 100 pour l'afficher comme une valeur de pourcentage.
Remarquez également la séquence spéciale %% dans la chaîne de format — c'est ainsi que vous affichez un caractère % littéral avec fmt.Printf(). Un seul % serait traité comme le début d'un espace réservé, donc %% est utilisé pour l'échapper et afficher le signe de pourcentage lui-même.
Défi
FacileDans ce défi, vous allez vous entraîner à utiliser la sortie formatée en Go avec la fonction `fmt.Printf()`.
Vous disposez d'informations sur un produit qui doivent être affichées dans un format spécifique en utilisant des verbes de formatage. Les variables sont déjà définies pour vous.
Votre tâche consiste à utiliser `fmt.Printf()` avec les verbes de formatage appropriés pour afficher les informations du produit :
- Utilisez `%s` pour les chaînes de caractères
- Utilisez `%d` pour les entiers
- Utilisez `%.2f` pour les nombres à virgule flottante avec 2 décimales
- Utilisez `%t` pour les valeurs booléennes
Affichez les informations du produit exactement comme indiqué dans la sortie attendue.
Aide-mémoire
Utilisez fmt.Printf() pour formater la sortie avec des espaces réservés :
fmt.Printf("Name: %s, Age: %d, Height: %.1f\n", name, age, height)Verbes de formatage courants :
%s- valeur de type chaîne (string)%d- valeur entière (int)%.1f- nombre à virgule flottante avec 1 décimale%.2f- nombre à virgule flottante avec 2 décimales%t- valeur booléenne%c- valeur de caractère%%- signe de pourcentage littéral (%)
L'ordre des variables doit correspondre à l'ordre des espaces réservés dans la chaîne de formatage.
Utilisez \n à la fin de la chaîne de formatage pour passer à une nouvelle ligne après l'affichage.
Essayez vous-même
package main
import "fmt"
func main() {
// Informations sur le produit
productName := "Wireless Headphones"
productPrice := 79.99
productInStock := true
productID := 12345
// TODO: Utiliser fmt.Printf() avec des verbes de formatage pour afficher les informations du produit :
// Product: Wireless Headphones (ID: 12345)
// Price: $79.99
// In Stock: true
//
// Astuce : Utilisez %s pour les chaînes, %d pour les entiers, %.2f pour les flottants, %t pour les booléens
// N'oubliez pas d'ajouter \n à la fin de chaque ligne pour un formatage correct
}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