defer: порядок выполнения и отличие ожидаемой ошибки от panic
Содержание курса
Журнал обработки
В производственном журнале каждая операция должна оставлять чёткий след: сколько позиций прошло обработку и каков итог сеанса. Оператор вводит одно целое число, отражающее количество обработанных позиций, и система обязана зафиксировать результат в строго определённом порядке.
Правила журналирования требуют, чтобы два завершающих сообщения регистрировались заранее, однако выводились в обратном порядке относительно момента их постановки в очередь. Это означает, что второе зарегистрированное сообщение появится первым, а первое — последним, независимо от того, как именно завершилась операция.
Что нужно сделать
Допишите функцию process. Сначала зарегистрируйте вывод закрыть журнал, затем — сохранить итог. Из-за LIFO при выходе строки появятся в обратном порядке. При n < 0 верните errors.New("отрицательное количество") до основного сообщения. Иначе выведите обработано: N и верните nil.
Формат ввода
Одно целое число.
Формат вывода
При неотрицательном числе: сообщение об обработке, затем сохранить итог и закрыть журнал. При отрицательном: оба финальных сообщения, затем сообщение об ошибке.
Пример
Ввод: 3 Вывод: обработано: 3 сохранить итог закрыть журнал
О данных в ответах
Используйте учебные данные. Не вставляйте пароли, токены, ключи доступа, паспортные и банковские данные, а также персональные данные других людей. Политика обработки данных.
- Тест 1Ввод
3
Ожидаемый выводобработано: 3 сохранить итог закрыть журнал
Как проверяется решение
Сравнение вывода: Правила исходной проверяющей системы.
Отправьте решение, чтобы увидеть результаты тестов.
