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!