Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import "fmt"
- import "math"
- type Gemetric interface {
- area() float64
- perim() float64
- }
- type rect struct {
- width, height float64
- }
- type circle struct {
- radius float64
- }
- func (r rect) area() float64 {
- return r.width * r.height
- }
- func (r rect) perim() float64 {
- return 2*r.width + 2*r.height
- }
- func (c circle) area() float64 {
- return math.Pi * c.radius * c.radius
- }
- func (c circle) perim() float64 {
- return 2 * math.Pi * c.radius
- }
- func measure(g geometry) {
- fmt.Println(g)
- fmt.Println(g.area())
- fmt.Println(g.perim())
- }
- func main() {
- r := rect{width: 3, height: 4}
- c := circle{radius: 5}
- measure(r)
- measure(c)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement