Shape.go

36 阅读1分钟
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())
}