Anonymous Quiz
14%
Паника во время выполнения
19%
Result:
56%
Result: <empty>
11%
Ошибка компиляции
❤5🤔1
Anonymous Quiz
17%
errors.Fatal
3%
Автоматическая перезагрузку программы
5%
throw и catch
75%
panic и recover
😁7
⚡ Полезный приём в Go — используем
Например, при загрузке ENV-переменных:
Теперь переменные окружения загружаются лишь один раз, а дальше берутся из памяти.
#golang #concurrency #tips
sync.Once
, чтобы инициализировать значение только один раз. Например, при загрузке ENV-переменных:
package config
import (
"os"
"sync"
)
var (
loadOnce sync.Once
envVars map[string]string
)
func GetEnvVars() map[string]string {
loadOnce.Do(func() {
envVars = map[string]string{
"DB_URL": os.Getenv("DB_URL"),
"API_KEY": os.Getenv("API_KEY"),
}
})
return envVars
}
Теперь переменные окружения загружаются лишь один раз, а дальше берутся из памяти.
#golang #concurrency #tips
👎8❤3👍1🔥1
👍4❤1