Bases des fonctions et signatures
Paramètres, types de retour et conventions d’appel
Bases des fonctions et signatures est une leçon Go Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Go Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Go Academy comprend 4 leçons au total.
Définir une fonction
Dans Go, les fonctions sont définies avec le mot-clé func :
func greet(name string) string {
return "Hello, " + name
}Paramètres et arguments
Les paramètres sont typés et listés sous forme de paires name type. Plusieurs paramètres du même type peuvent partager l’annotation de type :
func add(x, y int) int {
return x + y
}
func rect(w, h float64) float64 {
return w * h
}Fonctions sans valeur de retour
Les fonctions qui ne renvoient aucune valeur omettent simplement le type de retour. Elles renvoient implicitement le contrôle lorsque l’exécution atteint la fin :
func printBanner(title string) {
fmt.Println("=====", title, "======")
}Appeler des fonctions
Appelez une fonction par son nom, avec des parenthèses et les arguments correspondants :
result := add(3, 4) // 7
fmt.Println(greet("Go")) // Hello, Go
printBanner("Welcome")Les fonctions comme valeurs de première classe
Les fonctions sont des valeurs de première classe dans Go : elles peuvent être affectées à des variables et transmises comme arguments :
apply := func(n int, f func(int) int) int {
return f(n)
}
double := func(n int) int { return n * 2 }
fmt.Println(apply(5, double)) // 10Types de fonctions
Vous pouvez définir des types de fonctions nommés pour obtenir des signatures plus claires :
type Transform func(int) int
func applyAll(n int, fns []Transform) int {
for _, f := range fns {
n = f(n)
}
return n
}Fonctions récursives
Go prend en charge la récursivité. Soyez attentif à la profondeur de la pile : les piles des goroutines de Go grandissent dynamiquement, mais une récursion sans limite provoque toujours un débordement de pile :
func factorial(n int) int {
if n <= 1 {
return 1
}
return n * factorial(n-1)
}Conventions de nommage des fonctions
Conventions de nommage des fonctions dans Go :
- Utilisez
MixedCapspour les fonctions exportées oumixedCapspour les fonctions non exportées - Choisissez des noms courts orientés vers l’action :
New,Get,Parse,Write - Évitez
GetXpour les accesseurs simples : utilisez simplementX - Prédicats booléens :
IsValid,HasPrefix
Fonction init()
Une fonction spéciale init() s’exécute automatiquement lorsque le paquet est chargé, avant main() :
- Elle ne prend aucun argument et ne renvoie rien
- Un paquet peut contenir plusieurs fonctions init()
- Utilisez-la pour une configuration effectuée une seule fois, comme l’enregistrement de pilotes
Fonction ou méthode
Une fonction n’est associée à aucun type. Une méthode possède un récepteur, ce qui sera abordé dans « Structures et méthodes ». Toutes deux utilisent le mot-clé func :
// Function
func max(a, b int) int { ... }
// Method
func (c Counter) Value() int { ... }Vérification rapide
Dans Go, une fonction peut-elle renvoyer plusieurs valeurs ?
Récapitulatif : bases des fonctions
Les fonctions de Go sont expressives et flexibles :
func name(params) returnType { }- Les paramètres du même type peuvent partager leur annotation de type
- Les fonctions sont des valeurs de première classe
- Définissez des types de fonctions pour réutiliser les signatures
- La récursivité est prise en charge ; init() s’exécute au chargement du paquet
Suite : les valeurs de retour multiples en détail.
Questions Fréquemment Posées
La leçon « Bases des fonctions et signatures » est-elle gratuite ?
Oui — le texte complet de « Bases des fonctions et signatures » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Go Academy, passe à CoddyKit PRO. Le cours Go Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Bases des fonctions et signatures » ?
Paramètres, types de retour et conventions d’appel Tu pratiques Go Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Go Academy ?
Aucune expérience préalable n'est requise. Go Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.
Combien de temps prend la leçon « Bases des fonctions et signatures » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Go Academy ?
Oui. Chaque leçon Go Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Bases des fonctions et signatures
- Valeurs de retour multiples
- Fonctions variadiques
- defer, fonctions anonymes et fermetures