# Go's Interfaces and Polymorphism

Interfaces in Go provide a way to achieve polymorphism. Here’s an example:

package main
import "fmt"
type Shape interface {
Area() float64
}
type Circle struct {
Radius float64
}
func (c Circle) Area() float64 {
return 3.14 * c.Radius * c.Radius
}
type Rectangle struct {
Width, Height float64
}
func (r Rectangle) Area() float64 {
return r.Width * r.Height
}
func printArea(s Shape) {
fmt.Println("Area:", s.Area())
}
func main() {
c := Circle{Radius: 5}
r := Rectangle{Width: 4, Height: 6}
printArea(c)
printArea(r)
}

Interfaces in Go are a powerful way to write flexible and reusable code.

Running Go Interfaces Example
go run interfaces_example.go
My avatar

Thanks for reading my blog post! Feel free to check out my other posts or contact me via the social links in the footer.


More Posts