Argomenti del programma - la funzione main

La funzione main() di un programma Kotlin è uguale a tutte le altre funzioni, tranne che:

  • Ha un nome convenzionale, fissato;
  • È invocata dal sistema operativo;
  • È la funzione invocata per far partire il programma;
  • ha un unico parametro: args: Array<String> che corrisponde all'elenco degli argomenti scritti dall’utente a linea di comando.

Ma cosa contiene questo array? Semplice delle parole! Quando il nostro IDE (IntelliJ Idea) lancia un programma Kotlin fa una richiesta al sistema operativo simile a questa: java programmaKotilin.class eventuali argomenti separati da spazio. Le 5 parole (eventuali, argomenti, separati, da, spazio) vengono immagazzinate in un Array (vedremo più avanti cos'è) di String. Per analizzare le suddette stringe basta usare un ciclo for:

fun main(args : Array<String>) {

if (args.size == 0) {

println("Please provide a name as a command-line argument")

return

}

print("Hello,")

for(arg in args) {

print(arg)

}

println("!")

}

Inoltre è possibile utilizzare i parametri passati alla funzione main per modificare alcuni comportamenti del programma:

fun main(args : Array<String>) {

val language = if (args.size == 0) "EN" else args[0]

println(when (language) {

"EN" -> "Hello!"

"ES" -> "¡Hola!"

"RU" -> "Привет!"

"IT" -> "Ciao!"

else -> "Sorry, I can't greet you in $language yet"

})

}

Per testare su IntelliJ questo programma basta impostare negli argomenti del programma la stringa IT:

Immagine 4.2 - Passaggio di argomenti su IntelliJ Idea

Dopo questa impostazione l'output della funzione main è la seguente:

Ciao!

results matching ""

    No results matching ""