Junior — Middle
Una struttura in Go può implementare un'interfaccia e come farlo?
sobes.tech AI
Risposta dell'AI
Sì, in Go una struttura può implementare un'interfaccia. Per farlo, la struttura deve avere tutti i metodi dichiarati nell'interfaccia. In Go, l'implementazione di un'interfaccia non richiede una dichiarazione esplicita — se la struttura contiene i metodi necessari, viene automaticamente considerata come implementante l'interfaccia.
Esempio:
package main
import "fmt"
type Speaker interface {
Speak() string
}
type Person struct {
Name string
}
func (p Person) Speak() string {
return "Ciao, mi chiamo " + p.Name
}
func main() {
var s Speaker = Person{Name: "Ivan"}
fmt.Println(s.Speak())
}
In questo esempio, Person implementa l'interfaccia Speaker perché ha il metodo Speak() con la firma richiesta.