• Задача
  • Решение
  • Обсуждение

Timeout: nil-указатель как «не задано»

Zero value нельзя отличить от «поле не заполнили». В конфиге «Полки» таймаут не задан — выразите это nil-указателем. Реализуйте timeout: верните значение поля, либо 10 секунд по умолчанию, если поле равно nil.

GolangРешение
func timeout(c Config) time.Duration {
	if c.Timeout == nil {
		return 10 * time.Second
	}
	return *c.Timeout
}

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

00:00:00
Наш сайт собирает куки. Чтобы тебе было удобнее им пользоваться. Нажимая на кнопку, ты даёшь разрешение собирать куки