J'aimerais obtenir une certaine valeur d'une variable d'environnement dans mon application Kotlin, mais je ne trouve rien sur la lecture de variables d'environnement dans la documentation core libraries .
Je m'attendrais à ce qu'il soit sous kotlin.system mais il n'y a vraiment pas grand chose là-bas.
Il est vraiment facile d'obtenir une valeur d'environnement si elle existe ou une valeur par défaut en utilisant l'opérateur elvis dans kotlin:
var envVar: String = System.getenv("varname") ?: "default_value"
Vous pouvez toujours descendre cette approche:
val envVar : String? = System.getenv("varname")
Bien que, pour être juste, cela ne semble pas particulièrement idiomatique, car vous exploitez la classe System de Java, pas celle de Kotlin.
Mon one-liner préféré est:
val myEnv = if (System.getenv("MY_ENV").isNullOrEmpty()) "default_value" else System.getenv("MY_ENV")
Vous pouvez utiliser l'extension kotlin Konfig
Konfig - Une API de configuration de type sécurisé pour Kotlin
Konfig fournit une API extensible et sécurisée pour les propriétés de configuration provenant de sources multiples: ressources intégrées, propriétés système, fichiers de propriétés, variables d’environnement, arguments de ligne de commande, etc.
Par exemple: Key("http.port", intType)