Kotlin:
Läsa in kommandoradsargument
How to:
För att läsa in argument från kommandoraden i Kotlin, använd args
som finns tillgängliga i funktionens main
:
fun main(args: Array<String>) {
if (args.isNotEmpty()) {
println("Hej, ${args[0]}!")
} else {
println("Hej, okänd användare!")
}
}
Kör programmet så här:
$ kotlin MyProgram.kt Kalle
Hej, Kalle!
Om inga argument ges:
$ kotlin MyProgram.kt
Hej, okänd användare!
Deep Dive
Innan Java 5.0 (Kotlin bygger på JVM), användes en alternativ metod för kommandoradsargument och JavaBeans var en favorit för att hantera konfiguration. I Kotlin är args
en vanlig Array
och man hanterar den på samma sätt som andra arrayer.
Det finns flera sätt att hantera mer avancerade behov:
kotlinx-cli
biblioteket erbjuder en deklarativ parser för komplexa uppsättningar av kommandoradsargument.- Externa bibliotek som
picocli
ellerjcommander
.
Historiskt sett har flaggor och “switches” anpassat program uppsättningar, men Kotlin håller det clean och lätt med direkta argument till main
funktionen.
See Also
- Officiell Kotlin-dokumentation av kommandoradsargument: kotlinlang.org
- kotlinx-cli GitHub repo: github.com/Kotlin/kotlinx-cli
- Picocli: picocli.info
- JCommander: jcommander.org