Junior — Middle
Quelle est la différence entre une méthode et une fonction, et quelles sont les particularités de leur utilisation?
sobes.tech IA
Réponse de l'IA
En Go, une fonction est un bloc de code indépendant qui peut être appelé par son nom et qui peut accepter des paramètres et retourner des valeurs.
Une méthode est une fonction liée à un type spécifique (par exemple, une structure). La méthode est déclarée avec un récepteur, qui détermine à quel type elle appartient.
Caractéristiques d'utilisation :
- La méthode permet de travailler avec des données d'un type spécifique, en utilisant le récepteur à l'intérieur du corps de la méthode.
- Les méthodes aident à organiser le code et à implémenter des comportements pour les types, ce qui rapproche Go du style orienté objet.
Exemple :
package main
import "fmt"
type Person struct {
Name string
}
// Méthode avec récepteur de type Person
func (p Person) Greet() {
fmt.Println("Bonjour, je m'appelle", p.Name)
}
// Fonction normale
func Add(a, b int) int {
return a + b
}
func main() {
p := Person{Name: "Ivan"}
p.Greet() // appel de la méthode
fmt.Println(Add(2, 3)) // appel de la fonction
}