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

new9mtju  于 2023-04-07  发布在  Kotlin
关注(0)|答案(4)|浏览(195)

我想从我的Kotlin应用程序中的环境变量中获取某个值,但在core libraries文档中找不到任何关于阅读环境变量的内容。
我希望它在kotlin.system下,但实际上没有那么多。

mnemlml8

mnemlml81#

如果环境值存在,或者通过使用Kotlin中的elvis运算符来获取默认值,这真的很容易:

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

5uzkadbs2#

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

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

不过,公平地说,这并不特别符合习惯,因为您正在利用Java的System类,而不是Kotlin的。

bvpmtnay

bvpmtnay3#

如果你想处理存在但为空的env var:

val myEnv = (System.getenv("MY_ENV") ?: "").ifEmpty { "default_value" }

(see以前版本的编辑历史)

cxfofazt

cxfofazt4#

您可以使用Kotlin扩展Konfig
Konfig - A Type Safe Configuration API for Kotlin
Konfig为从多个来源收集的配置属性提供了一个可扩展的类型安全API-内置资源,系统属性,属性文件,环境变量,命令行参数等。
例如:Key("http.port", intType)

相关问题