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

GetConfig: sync.Once

S3-клиент создаётся дорого. Реализуйте GetConfig: инициализируйте конфиг через once.Do (внутри — initCalls.Add(1)).

GolangРешение
func GetConfig() *Config {
	once.Do(func() {
		cfg = &Config{Timeout: 5, Retries: 3}
		initCalls.Add(1)
	})
	return cfg
}

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

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

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