如何在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"