Kotlin Academy · Lezione

Scelta dell'opzione corretta

Scopra quando utilizzare ciascuna opzione

Lezione 4 di 413 passaggi

Scelta dell'opzione corretta è una lezione Kotlin Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Kotlin Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Kotlin Academy include 4 lezioni in totale.

Scegliere una funzione di ambito

Con cinque funzioni di ambito disponibili, scegliere quella giusta dipende da due domande:

  • Come viene referenziato l'oggetto: this o it?
  • Che cosa viene restituito: il risultato della lambda o l'oggetto?

La tabella decisionale

Ecco il quadro completo:

  • let utilizza it e restituisce il risultato della lambda.
  • run utilizza this e restituisce il risultato della lambda.
  • with utilizza this (argomento) e restituisce il risultato della lambda.
  • apply utilizza this e restituisce l'oggetto.
  • also utilizza it e restituisce l'oggetto.

Utilizzare let per la sicurezza rispetto a null

Quando ha un valore nullable e desidera agire su di esso solo se presente, utilizzi let con una chiamata sicura.

fun main() {
    val name: String? = "Ada"
    name?.let { println("Hello $it") }
}

Utilizzare run per this e un risultato

Quando desidera accedere ai membri con this e calcolare un risultato, utilizzi run.

fun main() {
    val text = "scope"
    val info = text.run { "$this has length $length" }
    println(info)
}

Utilizzare with per raggruppare

Quando ha un oggetto non null e desidera eseguire diverse operazioni su di esso, with risulta naturale.

fun main() {
    val list = listOf(1, 2, 3)
    with(list) {
        println(sum())
        println(size)
    }
}

Utilizzare apply per la configurazione

Quando crea un oggetto e deve impostare diverse proprietà, apply mantiene il codice pulito e restituisce l'oggetto.

data class Server(var host: String = "", var port: Int = 0)

fun main() {
    val server = Server().apply {
        host = "0.0.0.0"
        port = 80
    }
    println(server)
}

Utilizzare also per gli effetti collaterali

Quando desidera registrare log, eseguire il debug o convalidare senza modificare l'oggetto, la scelta giusta è also con it.

fun main() {
    val nums = listOf(1, 2, 3)
        .also { println("Got ${it.size} items") }
    println(nums.sum())
}

Combinare le funzioni di ambito

Il codice reale spesso le concatena: configurare con apply, registrare i log con also, trasformare con let.

data class User(var name: String = "", var score: Int = 0)

fun main() {
    val label = User()
        .apply { name = "Max"; score = 90 }
        .also { println("Created $it") }
        .let { "${it.name}: ${it.score}" }
    println(label)
}

Evitare un uso eccessivo

Le funzioni di ambito possono compromettere la leggibilità se vengono annidate o usate troppo. Se una variabile semplice e un codice esplicito risultano più chiari, preferisca questa soluzione. Utilizzi le funzioni di ambito per eliminare ripetizioni reali, non per complicare il codice.

Il problema dell'annidamento

L'annidamento delle funzioni di ambito rende ambigui it e this. Se deve annidarle, rinomini il parametro per mantenere chiaro il codice.

fun main() {
    val outer = "A"
    outer.let { o ->
        "B".let { i ->
            println("$o then $i")
        }
    }
}

Un modello mentale rapido

Ricordi: le funzioni che restituiscono l'oggetto (apply, also) costruiscono pipeline; le funzioni che restituiscono un risultato (let, run, with) trasformano i valori. Scelga it o this in base alla leggibilità.

Verifica rapida

Quale funzione di ambito dovrebbe utilizzare per configurare un oggetto appena creato e ottenere nuovamente quell'oggetto?

Riepilogo

Ora dispone di un criterio decisionale: scelga in base al riferimento (this o it) e al valore restituito (oggetto o risultato). let e run trasformano, with raggruppa, apply configura e also aggiunge effetti collaterali. Le utilizzi per ridurre il rumore, non per aumentarlo.

Gratis per iniziare

Impara Kotlin con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
51
Lezioni
203

Domande Frequenti

La lezione «Scelta dell'opzione corretta» è gratuita?

Sì — il testo completo di «Scelta dell'opzione corretta» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Kotlin Academy, passa a CoddyKit PRO. Il corso Kotlin Academy include 4 lezioni in totale.

Cosa imparerò in «Scelta dell'opzione corretta»?

Scopra quando utilizzare ciascuna opzione Eserciti Kotlin Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Kotlin Academy?

Non è richiesta alcuna esperienza precedente. Kotlin Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Scelta dell'opzione corretta»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Kotlin Academy?

Sì. Ogni lezione Kotlin Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. let e run
  2. apply e also
  3. with
  4. Scelta dell'opzione corretta
← Torna a Kotlin Academy