Как прочитать переменную среды в Kotlin?

Я хотел бы получить определенное значение из переменной среды в моем приложении Kotlin, но я не могу найти ничего о чтении переменных среды в основные библиотеки документация.

Я ожидал, что он будет под Котлин.система но там действительно не так много.

4 ответов


очень легко получить значение среды, если оно существует, или значение по умолчанию с помощью оператора elvis в kotlin:

var envVar: String = System.getenv("varname") ?: "default_value"

вы всегда можете спуститься по этому подходу:

val envVar : String? = System.getenv("varname")

хотя, честно говоря, это не кажется особенно идиоматичным, поскольку вы используете системный класс Java, а не Котлина.


мой любимый однострочный:

val myEnv = if (System.getenv("MY_ENV").isNullOrEmpty()) "default_value" else System.getenv("MY_ENV")

вы можете использовать расширение kotlin Konfig

Konfig-тип Безопасный API конфигурации для Kotlin

Konfig предоставляет расширяемый, типобезопасный API для свойств конфигурации, собранных из нескольких источников-встроенные ресурсы, системные свойства, файлы свойств, переменные среды, аргументы командной строки и т. д.

например: Key("http.port", intType)