type Circle struct {
x float64
y float64
r float64
}
1. var circle Circle
2. circle := new(Circle)
3. circle := Circle{x: 0, y: 0, r: 5}
circle.x = 10
circle.y = 4
circle.r = 3
func (circle *Circle) area() float64 {
return math.Pi * circle.r * circle.r
}
fmt.Println(circle.area())
type geometry interface {
area() float64
perimeter() float64
}
Презентация и исходный код