Comprendre les fonctions
Fait partie de la section Fondamentaux du Journey GO de Coddy — leçon 51 sur 109.
Les fonctions sont des blocs de code réutilisables qui accomplissent des tâches spécifiques. Elles aident à organiser le code et à éviter la répétition.
Créons une fonction simple qui additionne deux nombres :
func add(x int, y int) int {
return x + y
}
func main() {
result := add(5, 3)
fmt.Println("5 + 3 =", result)
}Après l'exécution de ce code, le nombre 8 s'affichera à l'écran comme résultat de l'addition de 5 et 3 :
5 + 3 = 8Décomposons comment définir une fonction :
Tout d'abord, nous déclarons la fonction avec un nom et des paramètres :
func add(x int, y int) int {Cela crée une fonction nommée add qui prend deux paramètres entiers et renvoie une valeur entière.
Ensuite, écrivons le corps de la fonction qui effectue le calcul :
return x + yCette simple ligne additionne les deux paramètres et renvoie le résultat à l'endroit où la fonction a été appelée.
Voyons maintenant comment appeler notre fonction et utiliser le résultat :
result := add(5, 3)Cette ligne appelle notre fonction add avec les valeurs 5 et 3, et stocke la valeur retournée (8) dans une nouvelle variable appelée result.
Enfin, affichons le résultat à l'utilisateur :
fmt.Println("5 + 3 =", result)Ceci affiche le texte "5 + 3 =" suivi de la valeur stockée dans result, qui est 8.
Défi
DébutantDans ce défi, vous allez vous entraîner à créer et à utiliser une fonction simple en Go.
Votre tâche consiste à compléter la fonction greet qui prend un nom en paramètre et renvoie un message de salutation.
La fonction doit renvoyer une chaîne de caractères au format : "Hello, " + name + "!"
La fonction doit renvoyer une chaîne de caractères au format : "Hello, Gopher!"
Aide-mémoire
Les fonctions sont des blocs de code réutilisables qui effectuent des tâches spécifiques. Elles aident à organiser le code et à éviter la répétition.
Syntaxe de fonction :
func functionName(parameter type) returnType {
// corps de la fonction
return value
}Exemple de fonction qui additionne deux nombres :
func add(x int, y int) int {
return x + y
}Appeler une fonction et stocker le résultat :
result := add(5, 3)
fmt.Println("5 + 3 =", result) // Résultat : 5 + 3 = 8Essayez vous-même
package main
import "fmt"
// TODO: Compléter la fonction greet qui prend un paramètre name
// et retourne une chaîne de salutation au format : "Hello, " + name + "!"
// Exemple : si name est "Gopher", retourner "Hello, Gopher!"
func greet(name string) string {
// Votre code ici
}
func main() {
// Tester la fonction avec un nom prédéfini
name := "Gopher"
message := greet(name)
fmt.Println(message)
// Résultat attendu : Hello, Gopher!
}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