再牛逼的梦想也抵不住傻逼似的坚持!   设为首页 - 加入收藏
您的当前位置:小鱼资料库 > 计算机 > go教程 > 正文

Go接口-Go实例教程|

来源:网络 编辑:阡殇 时间:2022-06-18

Go 接口

package main



import (

   "fmt"

   "math"

)



/* define an interface */

type Shape interface {

   area() float64

}



/* define a circle */

type Circle struct {

   x,y,radius float64

}



/* define a rectangle */

type Rectangle struct {

   width, height float64

}



/* define a method for circle (implementation of Shape.area())*/

func(circle Circle) area() float64 {

   return math.Pi * circle.radius * circle.radius

}



/* define a method for rectangle (implementation of Shape.area())*/

func(rect Rectangle) area() float64 {

   return rect.width * rect.height

}



/* define a method for shape */

func getArea(shape Shape) float64 {

   return shape.area()

}



func main() {

   circle := Circle{x:0,y:0,radius:5}

   rectangle := Rectangle {width:10, height:5}



   fmt.Printf("Circle area: %f
",getArea(circle))

   fmt.Printf("Rectangle area: %f
",getArea(rectangle))

}
标签:

小鱼资料库 www.xiaoyuzl.com

Copyright © 2020-2022 XIAOYUZL. All rights reserved. 冀ICP备2020029262号-2

声明:本站分享的文章、资源等均由网友上传,版权归原作者所有,只用于搜集整理。如有侵权,请您与站长联系,我们将及时处理!

Top