Настройте свое приложение для различных сред, используя переменные среды. Это также добавляет дополнительный уровень безопасности к приложению.
Переменные среды — это пары ключ-значение с динамическими именами, отложенные в среде хоста и используемые для воздействия на выполняемые операции программ.
Переменные среды популярны для взаимодействия с чувствительными к приложению данными, поскольку они обеспечивают абстракцию над интерфейсом среды. Вы можете использовать переменные среды для повышения безопасности ваших приложений.
Go предоставляет встроенную поддержку для работы с переменными среды, и существует множество пакетов для работы с переменными среды и файлами переменных среды (.env) в экосистеме Go.
Переменные среды и пакет os
Операционные системы Пакет предоставляет функциональные возможности для взаимодействия с операционной системой хост-среды.
Операционные системы Пакет предоставляет методы для установки и получения пар ключ-значение переменной среды.Импортируйте эти пакеты для настройки, загрузки и печати переменных среды на вашем хост-компьютере.
Импортировать (
"ФМТ"
"бревно"
"Операционные системы"
"струны"
)
Вы можете установить пары ключ-значение переменной среды с помощью Сетенв метод Операционные системы упаковка. Сетенв метод принимает пару и возвращает возможные ошибки.
ошибка := ос. Setenv("ИМЯ", "Джон")
ошибка = ос. Setenv("ДРУГОЙ", "ДОЭ")
если ошибся != ноль {
возвращаться
}
Вы можете получить переменные среды по ключам (именам) с помощью Getenv метод. Getenv Метод принимает имя переменной среды и возвращает значение, связанное с ключом.
имя := ос. Getenv("ИМЯ")
другое := ос. Getenv("ДРУГОЙ")
Окружающая среда метод позволяет вам получить доступ ко всем переменным среды на вашем хост-компьютере. Окружающая среда Метод возвращает фрагмент строк, которые вы можете пройти в цикле и получить доступ к ключам переменных среды.
для _, переменные := диапазон Операционные системы. Окружающая среда () {
envPair := строки. РазделитьN(переменные, "=", 2)
ФМТ. Println (пара пар[0])
}
Разделить N метод пакета strings помогает с разбиением по разделителю. В этом случае он отделяет имя переменной от значения.
Как загрузить переменные среды из файлов .env
Годотенв package — это Go-порт проекта Ruby dotenv для загрузки переменных среды из файла dotenv.
Годотенв пакет предоставляет функции для работа с файлами dotenv над Операционные системы пакет, вы можете писать и читать из .env файлы.
Запустите эту команду, чтобы создать .env файл в вашем рабочем каталоге.
коснитесь .env
Команда touch используется для создания новых файлов. Добавьте следующие строки кода в файл dotenv. Вы будете использовать Годотенв package для чтения этих переменных среды в вашей программе Go.
# окружение
ИМЯ="Джон"
ДРУГОЕ="Джеймс"
Запустите эту команду в терминале каталога вашего проекта, чтобы установить Годотенв package как зависимость проекта.
идти получить github.com/joho/godotenv
Импортируйте эти пакеты в свой файл Go. Вы будете использовать их вместе с Годотенв package для загрузки переменных среды и вывода их на консоль или в журнал ошибок.
Импортировать (
"ФМТ"
"github.com/joho/godotenv"
"бревно"
"Операционные системы"
)
Вы можете загрузить .env файл с Нагрузка метод Годотенв упаковка. Нагрузка Метод принимает имя файла и возвращает возможные ошибки.
ошибка := годотенв. Нагрузка(".env")
если ошибся != ноль {
бревно. Фатальф("Ошибка загрузки файла переменных среды")
}
После загрузки файла dotenv вы можете использовать Getenv метод Операционные системы package для загрузки переменных окружения.
имя := ос. Getenv("ИМЯ")
другое := ос. Getenv("ДРУГОЙ")
ФМТ. Println (имя)
ФМТ. Println (другое)
Вы можете писать в файлы dotenv с помощью Писать метод Годотенв упаковка. Писать метод принимает карту строк в строки и возвращает возможные ошибки.
функциянаписатьToDotEnv(){
env, _ := godotenv. Демаршал("КЛЮЧ=значение")
ошибка := годотенв. Пишите (окружение, ".env")
если ошибся != ноль {
бревно. Распечатать("Произошла ошибка записи в файл dotenv")
}
}
Годотенв пакет разбирает строку пары ключ-значение с помощью Демаршал метод, и окружение переменная становится картой строки в строковый тип.
написатьToDotEnv функция записывает содержимое карты в .env файл в рабочем каталоге. Эта операция перезаписывает существующие данные.
Переменные среды всегда пригодятся
Переменные среды упрощают установку и изменение параметров выполнения приложения без изменения кода или конфигураций, тем самым повышая переносимость вашего приложения.
У вас может быть несколько переменных среды и дотенв файлы для различных сценариев, чтобы проверить, как ваше приложение работает при различных параметрах или условиях.