Go: Настройки и миграция до API — задача с проверкой
Практическая задача на Go по теме «Настройки и миграция до API». Условие содержит контракт функций, предоставленные типы и требования к результату. Используйте выданный шаблон и сохраняйте его публичные объявления. Перед проверкой разберите успешный путь, обработку ошибок и отмену операции, когда она предусмотрена контрактом. Здесь оценивается конкретный компонент сервиса; в полном курсе микросервисов на Go эти компоненты связываются с HTTP, PostgreSQL, gRPC и Kafka.
Реализуйте ParseConfig(lookup func(string) (string, bool)) (Config, error). Тип Config уже объявлен: DBDSN string, RequestTimeout time.Duration, HTTPAddr string. Вызывайте переданную lookup-функцию для DB_DSN, REQUEST_TIMEOUT и HTTP_ADDR; не читайте окружение процесса напрямую. DB_DSN обязателен и не может быть пустым. REQUEST_TIMEOUT обязателен, должен разбираться time.ParseDuration и быть строго положительным. HTTP_ADDR при отсутствии ключа получает :8080, но присутствующее пустое значение — ошибка. При ошибке верните ненулевой error с именем ошибочного поля; никогда не включайте значение DB_DSN в ошибку. При успехе сохраните разобранные значения без подключения к БД и без открытия HTTP listener. Точное сообщение ошибки не требуется.
РешениеGo
Без регистрации. Гостевая проверка не сохраняет прогресс. Для сохранения перейдите к уроку.
Отправьте решение, чтобы увидеть результаты тестов.
Связанные задачи
- Go: Принять только полный ответ о последней статье — задача с проверкой
- HTTP-клиент поиска на Go: обработка ответа и ошибок — задача
- Go: Декодирование артефакта из JSON — задача с проверкой
- Go: Обязательная и необязательная зависимость при отказе — задача с проверкой
- Go: HTTP-обработчик поиска задания через JobStore — задача с проверкой
- Go: HTTP-обработчик расчёта калорийности состава — задача с проверкой
