/
cloudservices
/
common
Обзор
Документация
Войти
/
cloudservices
/
common
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
master
env.go
45 строк
914 B
Ivan
init
26 июл 2026, 11:34
26 июл 2026, 11:34
46b4481
Код
Авторство
О чём код?
package common import ( "bufio" "os" "path/filepath" "strings" ) func LoadDotEnv(src string) error { path, err := filepath.Abs(src) if err != nil { return err } f, err := os.Open(path) if err != nil { return err } defer f.Close() scanner := bufio.NewScanner(f) for scanner.Scan() { line := strings.TrimSpace(scanner.Text()) // Skip empty lines and comments. if line == "" || strings.HasPrefix(line, "#") { continue } idx := strings.IndexByte(line, '=') if idx < 0 { continue } key := strings.TrimSpace(line[:idx]) val := strings.TrimSpace(line[idx+1:]) // Remove surrounding quotes if present. if len(val) >= 2 && (val[0] == '"' || val[0] == '\'') && val[0] == val[len(val)-1] { val = val[1 : len(val)-1] } // Only set if not already in the OS environment. if _, exists := os.LookupEnv(key); !exists { os.Setenv(key, val) } } return scanner.Err() }