S3-клиент создаётся дорого. Реализуйте GetConfig: инициализируйте конфиг через once.Do (внутри — initCalls.Add(1)).
- Задача
- Решение
- Обсуждение
GetConfig: sync.Once
GolangРешение
func GetConfig() *Config {
once.Do(func() {
cfg = &Config{Timeout: 5, Retries: 3}
initCalls.Add(1)
})
return cfg
}