Que signifient les parenthèses avant le nom de la fonction en Go ?
Bonjour à tous ! J'ai commencé à apprendre Go récemment, et la syntaxe de déclaration des fonctions me déroute beaucoup. Je suis habitué à Python, où tout est simple : `def func_name(args):`. Mais en Go, je vois des constructions étranges.
Par exemple, je suis tombé sur ce code :
```go
type Rectangle struct {
Width float64
Height float64
}
func (r Rectangle) Area() float64 {
return r.Width * r.Height
}
```
Qu'est-ce que ce `(r Rectangle)` avant le nom de la fonction `Area` ? Je pensais que les paramètres s'écrivaient entre parenthèses après le nom de la fonction, comme dans d'autres langages. Mais ici, ils sont avant le nom. Est-ce une syntaxe spéciale ?
J'ai essayé d'écrire simplement `func Area(r Rectangle) float64` — cela fonctionne, mais alors je ne peux pas appeler la méthode comme `rect.Area()`, seulement `Area(rect)`. Quelle est la différence ? Quand faut-il utiliser les parenthèses avant le nom, et quand après ? Et qu'est-ce qu'un "receiver" (récepteur) ? J'ai entendu ce terme, mais je ne comprends pas à quoi il sert.
Expliquez-moi, s'il vous plaît, comme à un débutant. Merci d'avance !
No answers yet.
Connectez-vous pour laisser une réponse