Interface for geometric shapes
Go
Easy
interfaces
任务 «Interface for geometric shapes»
创建一个 Shape 接口,其中包含方法 Area() float64。实现 Circle 结构体(包含字段 Radius float64)和 Rectangle 结构体(包含字段 Width, Height float64),它们满足 Shape 接口。编写一个函数 PrintArea(s Shape),该函数输出图形的面积,精确到小数点后两位。在 main 中从 stdin 读取一行字符串,包含图形类型('circle' 或 'rectangle')及其参数(圆的半径,矩形的宽度和高度)。调用 PrintArea 处理相应的图形。
输入格式
一行:首先是单词'circle'或'rectangle',然后是数字(对于circle——半径,对于rectangle——宽度和高度)。所有数字均为整数或浮点数。
输出格式
一个数字——图形的面积,四舍五入保留两位小数。
示例
示例 1
输入
circle 5
输出
78.54
示例 2
输入
7
ADD 1 handler1
ADD 1 handler2
FIRE 1 eventA
ADD 2 handler3
FIRE 1 eventB
REMOVE 1 handler1
FIRE 1 eventC
输出
示例 3
输入
rectangle 3 4
输出
12.00
示例 4
输入
5
ADD 5 procA
ADD 5 procB
FIRE 5 data1
REMOVE 5 procA
FIRE 5 data2
输出
示例 5
输入
circle 0
输出
0.00
main.go