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

Задача: банковский счёт

Напишите тип Account — банковский счёт, баланс которого — целое число. Конструктор func NewAccount(initial int) *Account открывает счёт с начальным балансом initial. Методы: func (a *Account) Deposit(amount int) кладёт деньги на счёт, func (a *Account) Withdraw(amount int) bool снимает их и сообщает, удалось ли, а func (a *Account) Balance() int возвращает текущий баланс.

  • NewAccount(100).Balance() → 100
  • a := NewAccount(50), затем a.Withdraw(20) → true, а a.Balance() → 30
  • после этого a.Withdraw(40) → false, а a.Balance() по-прежнему 30

Ограничения: суммы неотрицательные; если на счёте меньше amount, Withdraw возвращает false и баланс не меняет, а снять ровно весь баланс можно; у каждого счёта свой баланс.

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

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

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

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

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