Interfaz para figuras geométricas

Go Easy interfaces

Tarea «Interfaz para figuras geométricas»

Cree una interfaz Shape que contenga el método Area() float64. Implemente las estructuras Circle (con el campo Radius float64) y Rectangle (con los campos Width, Height float64) que satisfagan la interfaz Shape. Escriba una función PrintArea(s Shape) que imprima el área de la figura con una precisión de hasta dos decimales. En main, lea desde stdin una línea que contenga el tipo de figura ('circle' o 'rectangle') y sus parámetros (radio para el círculo, ancho y alto para el rectángulo). Llame a PrintArea para la figura correspondiente.

Formato de entrada

Una línea: primero la palabra 'circle' o 'rectangle', luego los números (para circle — el radio, para rectangle — el ancho y el alto). Todos los números son enteros o de punto flotante.

Formato de salida

Un número — el área de la figura, redondeada a dos decimales.

Ejemplos

Ejemplo 1

ENTRADA
circle 5
SALIDA
78.54

Ejemplo 2

ENTRADA
7 ADD 1 handler1 ADD 1 handler2 FIRE 1 eventA ADD 2 handler3 FIRE 1 eventB REMOVE 1 handler1 FIRE 1 eventC
SALIDA

Ejemplo 3

ENTRADA
rectangle 3 4
SALIDA
12.00

Ejemplo 4

ENTRADA
5 ADD 5 procA ADD 5 procB FIRE 5 data1 REMOVE 5 procA FIRE 5 data2
SALIDA

Ejemplo 5

ENTRADA
circle 0
SALIDA
0.00
main.go