Déclarer une fonction
Fait partie de la section Fondamentaux du Journey GO de Coddy — leçon 52 sur 109.
Apprenons comment déclarer une fonction en Go qui prend plusieurs paramètres du même type.
Tout d'abord, créons une fonction qui additionne trois entiers ensemble :
func addThree(x, y, z int) int {
return x + y + z
}
func main() {
sum := addThree(5, 10, 15)
fmt.Println("The sum is:", sum)
}Après l'exécution de ce code, la valeur 30 (qui est 5 + 10 + 15) sera calculée et stockée dans la variable sum. Ensuite, le message "The sum is: 30" s'affichera à l'écran :
The sum is: 30Remarquez que nous avons écrit x, y, z int au lieu d'écrire x int, y int, z int. C'est un raccourci utile en Go lorsque plusieurs paramètres partagent le même type - cela rend notre code plus court et plus propre.
Défi
DébutantDans ce défi, vous allez vous entraîner à déclarer une fonction en Go. Votre tâche consiste à compléter la fonction greet qui prend un nom en paramètre et retourne un message de salutation.
La fonction doit retourner une chaîne de caractères au format : "Hello, [name]!"
Aide-mémoire
Lorsque plusieurs paramètres partagent le même type en Go, vous pouvez utiliser une syntaxe abrégée :
func addThree(x, y, z int) int {
return x + y + z
}Ceci est équivalent à écrire x int, y int, z int mais c'est plus concis.
Essayez 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
// func greet() {
//
// }
func main() {
// Ces cas de test sont déjà configurés pour vous
name1 := "Alice"
name2 := "Bob"
// Test de la fonction greet
message1 := greet(name1)
message2 := greet(name2)
fmt.Println(message1)
fmt.Println(message2)
}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