我想从我的Kotlin应用程序中的环境变量中获取某个值,但我在core libraries文档中找不到任何有关读取环境变量的信息。
我希望它在kotlin.system之下,但那里确实没那么多。
答案 0 :(得分:22)
通过在kotlin中使用elvis运算符来获取环境值(如果存在)或默认值非常容易:
var envVar: String = System.getenv("varname") ?: "default_value"
答案 1 :(得分:15)
你总是可以采用这种方法:
val envVar : String? = System.getenv("varname")
虽然,公平地说,这并不是特别惯用,因为你正在利用Java的系统类,而不是Kotlin的。
答案 2 :(得分:2)
我最喜欢的单行是:
val myEnv = if (System.getenv("MY_ENV").isNullOrEmpty()) "default_value" else System.getenv("MY_ENV")
答案 3 :(得分:1)
您可以使用kotlin扩展名Konfig
Konfig - A Type Safe Configuration API for Kotlin
Konfig为从多个源收集的配置属性提供了可扩展的,类型安全的API - 内置资源,系统属性,属性文件,环境变量,命令行参数等。
例如:Key("http.port", intType)