我想从我的Kotlin应用程序中的环境变量中获取某个值,但在core libraries文档中找不到任何关于阅读环境变量的内容。我希望它在kotlin.system下,但实际上没有那么多。
mnemlml81#
如果环境值存在,或者通过使用Kotlin中的elvis运算符来获取默认值,这真的很容易:
val envVar: String = System.getenv("varname") ?: "default_value"
5uzkadbs2#
你总是可以使用这种方法:
val envVar : String? = System.getenv("varname")
不过,公平地说,这并不特别符合习惯,因为您正在利用Java的System类,而不是Kotlin的。
bvpmtnay3#
如果你想处理存在但为空的env var:
val myEnv = (System.getenv("MY_ENV") ?: "").ifEmpty { "default_value" }
(see以前版本的编辑历史)
cxfofazt4#
您可以使用Kotlin扩展KonfigKonfig - A Type Safe Configuration API for KotlinKonfig为从多个来源收集的配置属性提供了一个可扩展的类型安全API-内置资源,系统属性,属性文件,环境变量,命令行参数等。例如:Key("http.port", intType)
Key("http.port", intType)
4条答案
按热度按时间mnemlml81#
如果环境值存在,或者通过使用Kotlin中的elvis运算符来获取默认值,这真的很容易:
5uzkadbs2#
你总是可以使用这种方法:
不过,公平地说,这并不特别符合习惯,因为您正在利用Java的System类,而不是Kotlin的。
bvpmtnay3#
如果你想处理存在但为空的env var:
(see以前版本的编辑历史)
cxfofazt4#
您可以使用Kotlin扩展Konfig
Konfig - A Type Safe Configuration API for Kotlin
Konfig为从多个来源收集的配置属性提供了一个可扩展的类型安全API-内置资源,系统属性,属性文件,环境变量,命令行参数等。
例如:
Key("http.port", intType)