Junior — Middle
Como implementar uma chamada ao método da classe base a partir de um componente ou estrutura incorporada?
sobes.tech IA
Resposta da IA
No Go, estruturas embutidas (embedding) permitem incluir um tipo dentro de outro, possibilitando usar diretamente os métodos do tipo embutido. Para chamar o método do tipo base (embutido), pode-se acessá-lo através do nome do campo.
Exemplo:
package main
import "fmt"
type Base struct{}
func (b Base) Hello() {
fmt.Println("Olá do Base")
}
type Derived struct {
Base
}
func (d Derived) Hello() {
fmt.Println("Olá do Derived")
// Chamada ao método do tipo base
d.Base.Hello()
}
func main() {
d := Derived{}
d.Hello()
}
Neste exemplo, o método Hello da estrutura Derived chama o método Hello da estrutura embutida Base através de d.Base.Hello(). Assim, é possível chamar explicitamente o método da classe base a partir do componente embutido.