package main
import "fmt"
type Shape interface {
area() float64
}
type Rectangle struct {
length float64
width float64
}
func (r Rectangle) area() float64 {
return r.length * r.width
}
type Circle struct {
radius float64
}
func (c Circle) area() float64 {
return 3.14 * c.radius * c.radius
}
func main() {
var s Shape
s = Rectangle{length: 10, width: 5}
fmt.Println(s.area())
s = Circle{radius: 10}
fmt.Println(s.area())
}