Paramètres de fonction
Fait partie de la section Fondamentaux du Journey GO de Coddy — leçon 54 sur 109.
Les paramètres de fonction sont des valeurs que vous passez à une fonction lors de son appel. Ils permettent aux fonctions de travailler avec des données différentes à chaque fois qu'elles sont appelées.
Créez une fonction avec des paramètres en listant leurs noms et types entre parenthèses :
func add(x int, y int) {
sum := x + y
fmt.Println("Sum:", sum)
}
func main() {
add(5, 3)
add(10, 20)
}Lorsque vous exécutez ce programme, il affiche :
Sum: 8
Sum: 30Les paramètres ayant le même type peuvent être écrits de manière plus concise :
func greet(first, last string) {
fmt.Println("Hello,", first, last)
}Les fonctions peuvent également retourner des valeurs en spécifiant un type de retour :
func multiply(x, y int) int {
return x * y
}
func main() {
result := multiply(4, 5)
fmt.Println("Result:", result) // Sortie : Result: 20
}Défi
DébutantDans ce défi, vous allez vous entraîner à travailler avec les paramètres de fonction. Vous devez compléter une fonction qui prend deux paramètres de type chaîne de caractères et les combine pour créer un message de salutation.
La fonction createGreeting est déjà définie, mais il lui manque les paramètres. Votre tâche consiste à ajouter les paramètres corrects et à les utiliser dans le corps de la fonction.
Aide-mémoire
Les paramètres de fonction permettent aux fonctions de travailler avec des données différentes à chaque fois qu'elles sont appelées.
Définissez les paramètres en listant leurs noms et types entre parenthèses :
func add(x int, y int) {
sum := x + y
fmt.Println("Sum:", sum)
}Les paramètres ayant le même type peuvent être écrits de manière plus concise :
func greet(first, last string) {
fmt.Println("Hello,", first, last)
}Les fonctions peuvent retourner des valeurs en spécifiant un type de retour :
func multiply(x, y int) int {
return x * y
}Essayez vous-même
package main
import "fmt"
// TODO: Ajouter des paramètres à cette fonction pour accepter une salutation et un nom
// La fonction doit prendre deux paramètres de type string : greeting et name
// Vous pouvez les écrire comme (greeting string, name string) ou (greeting, name string)
func createGreeting(/* ajouter les paramètres ici */) string {
// TODO: Retourner une chaîne qui combine la salutation et le nom
// Par exemple : "Hello, John!"
// Utilisez le format : greeting + ", " + name + "!"
}
func main() {
// Ces appels de test sont déjà définis pour vous
message := createGreeting("Hello", "Gopher")
fmt.Println(message)
// Tester avec différentes valeurs
message = createGreeting("Welcome", "Friend")
fmt.Println(message)
}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