0Pricing
Go Academy · Leçon

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)) // 10

Types 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 MixedCaps pour les fonctions exportées ou mixedCaps pour les fonctions non exportées
  • Choisissez des noms courts orientés vers l’action : New, Get, Parse, Write
  • Évitez GetX pour les accesseurs simples : utilisez simplement X
  • 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&nbsp;: 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

  1. Bases des fonctions et signatures
  2. Valeurs de retour multiples
  3. Fonctions variadiques
  4. defer, fonctions anonymes et fermetures
← Retour à Go Academy