Argomenti denominati
Fa parte della sezione Fondamenti del percorso Kotlin di Coddy. Lezione 58 di 93.
Quando chiami una funzione con più parametri, normalmente passi gli argomenti esattamente nell'ordine in cui sono definiti. Ma Kotlin offre un'alternativa più pulita: gli argomenti nominati.
Con gli argomenti con nome, specifichi a quale parametro appartiene ciascun valore usando il nome del parametro seguito da =:
fun createProfile(name: String, age: Int, city: String) {
println("$name, $age, from $city")
}
fun main() {
createProfile(name = "Alice", age = 25, city = "Paris")
}
// Output: Alice, 25, from ParisQuesto rende il tuo codice più leggibile, soprattutto quando una funzione ha diversi parametri dello stesso tipo. Confronta queste due chiamate:
// Senza argomenti con nome: cosa significano questi numeri?
calculateArea(10, 5, 3)
// Con argomenti con nome: molto più chiaro!
calculateArea(length = 10, width = 5, height = 3)Gli argomenti con nome ti permettono anche di passare i valori nell'ordine che preferisci:
fun greet(firstName: String, lastName: String) {
println("Hello, $firstName $lastName!")
}
fun main() {
greet(lastName = "Smith", firstName = "John")
}
// Output: Hello, John Smith!Puoi combinare argomenti posizionali e con nome, ma, una volta usato un argomento con nome, anche tutti gli argomenti successivi dovrebbero essere con nome per evitare confusione.
Sfida
MedioTi viene fornita la seguente funzione:
fun formatBook(title: String, author: String, year: Int) {
println("\"$title\" by $author ($year)")
}Leggi tre input: il titolo di un libro (String), il nome di un autore (String) e l’anno di pubblicazione (Int).
Chiama la funzione formatBook usando argomenti con nome in questo ordine specifico: year, title, author.
Per esempio, se gli input sono:
1984
George Orwell
1949L’output dovrebbe essere:
"1984" by George Orwell (1949)Provalo tu
fun formatBook(title: String, author: String, year: Int) {
println("\"$title\" by $author ($year)")
}
fun main() {
val title = readLine()!!
val author = readLine()!!
val year = readLine()!!.toInt()
// TODO: Chiama formatBook usando argomenti con nome in quest'ordine: year, title, author
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori Parte 1
Operatori aritmeticiOperatore moduloAssegnazione compostaOperatori di confrontoRipasso: matematica semplice7Input/output di base
Funzione printlnTemplate di stringheInput con readLineConversione di tipoRiepilogo - Anni alla pensioneRiepilogo - Vero o falso10Funzioni
Dichiarare una funzioneParametri e argomentiValori di ritornoArgomenti denominatiValori predefinitiFunzioni a espressione singolaRiepilogo - Funzione SigmaRiepilogo - Funzione di validazione2Variabili
Val vs VarInferenza del tipoNumeriStringaBooleanoConvenzioni di denominazioneRiepilogo - Inizializzare le variabili5Operatori Parte 2
Operatori logici Parte 1Operatori logici Parte 2Operatori logici Parte 3Ternario con espressione ifRipasso - Logica semplice8Calcolatore per dividere il conto
Messaggio di benvenutoAcquisire i dati11FizzBuzz con un tocco
Panoramica del giocoLa funzione FizzBuzz3Nullabilità
Cos'è la null safetyTipi nullableOperatore di chiamata sicuraOperatore ElvisBasi della sfida sulle funzioniAsserzione non-nullRiepilogo - Accesso sicuro6Prendere decisioni
Istruzione ifIf-elseIf come espressioneEspressione whenwhen con intervalliRiepilogo - Calcolatrice semplice9Cicli
Ciclo forCiclo whileCiclo do-whilebreakcontinueIntervalli nei cicliCiclo annidatoRipasso - fattorialeRipasso - input dinamicoEsercitati da solo: Playground Kotlin