Sobes.tech
Junior — Middle

Une structure en Go peut-elle implémenter une interface, et comment le faire?

sobes.tech IA

Réponse de l'IA

Oui, en Go, une structure peut implémenter une interface. Pour cela, la structure doit avoir toutes les méthodes déclarées dans l'interface. En Go, l'implémentation d'une interface ne nécessite pas de déclaration explicite : si la structure contient les méthodes nécessaires, elle est automatiquement considérée comme implémentant l'interface.

Exemple :

package main
import "fmt"

type Speaker interface {
    Speak() string
}

type Person struct {
    Name string
}

func (p Person) Speak() string {
    return "Bonjour, je m'appelle " + p.Name
}

func main() {
    var s Speaker = Person{Name: "Ivan"}
    fmt.Println(s.Speak())
}

Dans cet exemple, Person implémente l'interface Speaker car il possède une méthode Speak() avec la signature requise.