Интерфейс для геометрических фигур

Go Средний interfaces

Задача «Интерфейс для геометрических фигур»

Реализуйте интерфейс Shape, который содержит метод Area() float64. Создайте структуры Circle и Rectangle, реализующие этот интерфейс. Для круга площадь вычисляется как π * r^2, для прямоугольника — a * b. Затем напишите функцию PrintArea(s Shape), которая выводит площадь фигуры с точностью до двух знаков после запятой. Входные данные: тип фигуры (1 — круг, 2 — прямоугольник) и соответствующие параметры (радиус для круга, стороны a и b для прямоугольника). Вывести площадь фигуры.

Формат ввода

Первая строка: целое число t (1 ≤ t ≤ 100) — количество фигур. Для каждой фигуры: первая строка — целое число type (1 или 2). Если type=1, следующая строка содержит одно вещественное число — радиус. Если type=2, следующая строка содержит два вещественных числа — стороны a и b.

Формат вывода

Для каждой фигуры выведите её площадь с точностью до двух знаков после запятой, каждое на новой строке.

Примеры

Пример 1

ВВОД
1 0
ВЫВОД
1

Пример 2

ВВОД
4 ADD Task A 1 ADD Task B 4 COMPLETE Task C PENDING
ВЫВОД
Task not found Task B, Task A
main.go