Méthodes vs Fonctions
Fait partie de la section Logique & Flux du Journey GO de Coddy — leçon 10 sur 68.
Bien que les méthodes et les fonctions effectuent toutes deux des opérations en Go, elles servent des objectifs différents et ont des schémas de déclaration distincts. Comprendre cette différence est crucial pour écrire un code clair et organisé.
Une fonction est autonome et indépendante. Elle n'appartient à aucun type spécifique :
func calculateArea(width, height float64) float64 {
return width * height
}Une méthode est rattachée à un type spécifique via un récepteur. Elle appartient à ce type et peut accéder à ses données :
func (r Rectangle) area() float64 {
return r.Width * r.Height
}La différence clé réside dans la manière dont vous les appelez. Les fonctions sont appelées directement par leur nom, tandis que les méthodes sont appelées sur des instances de leur type associé en utilisant la notation par point. Cette association rend les méthodes parfaites pour définir des comportements qui appartiennent naturellement à vos types personnalisés, tandis que les fonctions conviennent bien aux opérations d'usage général qui n'ont pas besoin d'être liées à des structures de données spécifiques.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Aide-mémoire
Une fonction est autonome et indépendante :
func calculateArea(width, height float64) float64 {
return width * height
}Une méthode est rattachée à un type spécifique via un récepteur :
func (r Rectangle) area() float64 {
return r.Width * r.Height
}Les fonctions sont appelées directement par leur nom, tandis que les méthodes sont appelées sur des instances en utilisant la notation par point.
Essayez vous-même
Cette leçon ne comprend pas de défi de code.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Logique & Flux
1Structures de contrôle avancées
Switch avec `fallthrough`Sortir de boucles imbriquéesContinuer une boucle spécifiqueL'instruction `goto`Récapitulatif - Contrôle de boucle avancé4Projet : Liste de tâches simple
Configuration du projetAjouter une tâche2Structures et Méthodes
Définir des méthodes sur des structuresReceveurs par valeurReceveurs par pointeurChoisir les receveursMéthodes vs FonctionsRécapitulatif - Comportement des structures5Les Maps en profondeur
Maps de StructsPointeurs comme valeurs de MapTester les Maps NilComparer des MapsRécapitulatif - Compteur de fréquence de mots3Interfaces (Les bases)
Qu'est-ce qu'une Interface ?Définir une InterfaceImplémenter une InterfaceUtiliser les types d'InterfaceInterface videAssertions de typeType SwitchRécapitulatif - Formes et comportements