我想从我的Kotlin应用程序中的环境变量中获得一定的值,但在core libraries文档中找不到有关读取环境变量的任何内容。如何读取Kotlin中的环境变量?
我期望它在kotlin.system之下,但那里真的没那么多。
我想从我的Kotlin应用程序中的环境变量中获得一定的值,但在core libraries文档中找不到有关读取环境变量的任何内容。如何读取Kotlin中的环境变量?
我期望它在kotlin.system之下,但那里真的没那么多。
可以使用科特林扩展Konfig
Konfig - A Type Safe Configuration API for Kotlin
Konfig提供了一个可扩展的配置属性类型安全的API从多个来源收集 - 内置的资源,系统属性,属性文件,环境变量,命令行参数等
是的,我们如何使用envs?没有文档? – PedroD
你总是可以走这条途径:
val envVar : String? = System.getenv("varname")
虽然,公平地说,这并不是特别习惯,因为你正在利用Java的System类,而不是Kotlin的。
“利用Java的系统类”没有任何问题。 Kotlin非常重视Java interop,并且当您针对JVM时,它有望使用Java API。 –
我最喜欢的一个班轮是:
val myEnv = if (System.getenv("MY_ENV").isNullOrEmpty()) "default_value" else System.getenv("MY_ENV")
这是很容易,如果它存在,或通过在科特林使用Elvis操作符的默认值来获得一个环境值:
var envVar: String = System.getenv("varname") ?: "default_value"
你有没有尝试System.getenv? – danielspaniol
我没有。我猜想,当搜索“我如何在Kotlin中执行X”并没有找到我想要的答案时,那么搜索“如何在Java中执行X”可能会产生可用的结果。 – Bjornicus
@Bjornicus你绝对是关键。 JVM上的Kotlin可以访问所有Java的API。 –