golang method override
In golang we can do method override. This can be illustrated in the code below:-
package main
import "fmt"
type Animal struct {
Name string
}
func (a Animal) Speak() {
fmt.Println("Animal speaks")
}
type Dog struct {
Animal
}
// Dog can override by defining its own Speak method
func (d Dog) Speak() {
fmt.Println("Dog barks")
}
func main() {
dog := Dog{}
dog.Speak() // Calls Dog's Speak() - method override
dog.Animal.Speak() // Calls Animal's Speak() - explicit
}
Comments