Junior — Middle
¿Cómo indicar al compilador que una clase específica implementa una interfaz determinada?
sobes.tech AI
Respuesta de la IA
En Go, la implementación de interfaces es implícita: si un tipo implementa todos los métodos de una interfaz, se considera automáticamente que implementa esa interfaz. No es necesario indicarlo explícitamente.
Ejemplo:
package main
import "fmt"
type Speaker interface {
Speak() string
}
type Dog struct {}
func (d Dog) Speak() string {
return "¡Guau!"
}
func main() {
var s Speaker
d := Dog{}
s = d // Dog implementa la interfaz Speaker
fmt.Println(s.Speak())
}
Si quieres verificar explícitamente que un tipo implementa una interfaz, puedes usar una comprobación de compilación:
var _ Speaker = (*Dog)(nil) // El compilador verificará que *Dog implementa Speaker
De esta manera, en Go, las interfaces se implementan automáticamente cuando los métodos necesarios están presentes.