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

Popular posts from this blog

gemini cli getting file not defined error

NodeJS: Error: spawn EINVAL in window for node version 20.20 and 18.20

vllm : Failed to infer device type