如何在Kotlin中读取环境variables?

我想从我的Kotlin应用程序中的环境variables中获得一定的值,但在核心库文档中找不到有关读取环境variables的任何内容。

我希望它是在kotlin.system下,但真的没那么多。

您可以使用kotlin扩展Konfig

Konfig – 适用于Kotlin的types安全配置API

Konfig为从多个源收集的配置属性提供了一个可扩展的,types安全的API – 内置资源,系统属性,属性文件,环境variables,命令行参数等。

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

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

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

我最喜欢的单行是:

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

通过使用kotlin中的elvis运算符,如果存在环境值或默认值,那么确实很容易:

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