Go tests
7.72K subscribers
301 photos
94 links
По всем вопросам- @haarrp

@itchannels_telegram - 🔥полезные ит-каналы

https://t.me/Golang_google - Golang программирование

@golangl - golang chat

@GolangJobsit - golang channel jobs

@golang_jobsgo - go chat jobs
Download Telegram
Полезный приём в Go — используем 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
👎83👍1🔥1
👍2
Выведется ли текст в две строки
Anonymous Quiz
36%
Да
57%
Нет
3%
Наверное
4%
Узнать результаты
👍41