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