如何在Kotlin中读取环境变量?

Bjo*_*cus 27 environment-variables kotlin

我想从我的Kotlin应用程序中的环境变量中获取某个值,但是在核心库文档中找不到任何有关读取环境变量的信息.

我希望它在kotlin.system之下,但那里确实没那么多.

Pat*_*oos 34

通过在kotlin中使用elvis运算符,获取环境值(如果存在)或默认值非常容易:

var envVar: String = System.getenv("varname") ?: "default_value"
Run Code Online (Sandbox Code Playgroud)


Mar*_*wit 16

你总是可以采用这种方法:

val envVar : String? = System.getenv("varname")
Run Code Online (Sandbox Code Playgroud)

虽然,公平地说,这并不是特别惯用,因为你正在利用Java的System类,而不是Kotlin的类.

  • "利用Java的System类"没有任何问题.Kotlin非常重视Java互操作,当你瞄准JVM时,它应该使用Java API. (6认同)

sus*_*ide 8

如果你想处理确实存在但为空的环境变量:

val myEnv = (System.getenv("MY_ENV") ?: "").ifEmpty { "default_value" }
Run Code Online (Sandbox Code Playgroud)

(查看之前版本的编辑历史)