Läsa in kommandoradsargument

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 eller jcommander.

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