Перейти к содержимому
Задача · Структуры и методы · урок 10 из 11

Задача: методы прямоугольника

Тип type Rect struct{ Width, Height float64 } уже объявлен. Напишите два метода: func (r *Rect) Area() float64 возвращает площадь прямоугольника, а func (r *Rect) Scale(k float64) умножает его ширину и высоту на k. Scale меняет прямоугольник, поэтому ему нужен получатель-указатель; Area получает такой же, чтобы у типа были получатели одного вида.

  • r := Rect{Width: 2, Height: 3}, затем r.Area() → 6
  • r := Rect{Width: 2, Height: 3}, затем r.Scale(2) → r равно {4 6}
  • r := Rect{Width: 2, Height: 3}, затем r.Scale(0) → r равно {0 0}

Ограничения: стороны и k неотрицательные; после нескольких вызовов Scale их множители перемножаются.

Не добавляйте лишних импортов, если в задаче это прямо не сказано.

rect.go — go
go · строк: 11
Ctrl+Enter запуск · Esc выйти из редактора

Подпишись, чтобы пройти курс

Курс бесплатный. Войди через Telegram и подпишись на канал — откроются все уроки.

Войти другим способом