美文网首页
接口-参考答案

接口-参考答案

作者: tonyemail_st | 来源:发表于2018-06-18 17:14 被阅读0次
    package main
    
    import (
        "math"
        "fmt"
    )
    
    type geometry interface {
        area() float64
        perim() float64
    }
    
    type rect struct {
        width, hight float64
    }
    
    type circle struct {
        radius float64
    }
    
    func (r rect) area() float64{
        return r.width*r.hight
    }
    
    func (r rect) perim() float64  {
        return r.width*2 + r.hight*2
    }
    
    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{2,4}
        c := circle{4}
        measure(r)
        measure(c)
    }
    

    相关文章

      网友评论

          本文标题:接口-参考答案

          本文链接:https://www.haomeiwen.com/subject/kqbneftx.html