0Pricing
Kotlin Academy · Lezione

val e var a confronto: immutabilità fin dal primo giorno

Comprendere la differenza tra val e var e l’importanza dell’immutabilità

val e var a confronto: immutabilità fin dal primo giorno è una lezione Kotlin Academy gratuita su CoddyKit. Questa è la lezione 2 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.

Due modi per dichiarare una variabile

Kotlin dispone di due parole chiave per dichiarare le variabili: val per i riferimenti in sola lettura (immutabili) e var per quelli mutabili. Scegliere correttamente è importante.

val: riferimento in sola lettura

val dichiara un riferimento che non può essere riassegnato dopo l'inizializzazione. Lo si può considerare simile a final in Java.
val name = "Kotlin"
println(name)
// name = "Java" // Error: Val cannot be reassigned

var: riferimento mutabile

var dichiara una variabile che può essere riassegnata. Usi var solo quando ha effettivamente bisogno della mutabilità.
var counter = 0
counter = 1
counter += 1
println(counter) // 2

Inferenza dei tipi

Kotlin deduce il tipo dal valore iniziale. È anche possibile scrivere esplicitamente il tipo dopo i due punti.
val age = 25          // inferred: Int
val name: String = "Ana"  // explicit type
var score: Double = 0.0

val non significa oggetto immutabile

val impedisce di riassegnare il riferimento, ma l'oggetto può comunque essere mutabile. A una val MutableList si possono ancora aggiungere elementi.
val list = mutableListOf(1, 2, 3)
list.add(4)        // OK! list is val but mutable
// list = mutableListOf() // Error: reassignment

Preferire val per impostazione predefinita

Le guide di stile Kotlin consigliano di usare val per impostazione predefinita. Il codice diventa più sicuro e più facile da comprendere. Passi a var solo quando è necessaria una modifica.
val pi = 3.14159     // constant value
val greeting = "Hi"  // never changes
var retries = 3      // will be decremented

val rispetto a const val

const val è destinato alle costanti a tempo di compilazione (tipi primitivi e String a livello superiore oppure in un object/companion). val è una costante di runtime.
const val MAX_SIZE = 100    // compile-time
val instance = MyClass()    // runtime

var non inizializzata

È possibile dichiarare una var senza inizializzarla, ma è OBBLIGATORIO specificare il tipo e assegnarle un valore prima dell'uso. val deve sempre essere inizializzata.
var result: String
result = "computed"
println(result)

Ambito e shadowing

Le variabili appartengono al proprio blocco. Gli ambiti interni possono nascondere le variabili esterne, ma questo può creare confusione: usi quindi nomi significativi.
val x = 10
run {
    val x = 20  // shadows outer x
    println(x)  // 20
}
println(x)      // 10

Convenzioni per i nomi

Kotlin usa il camelCase per variabili e funzioni. Le costanti (const val) usano UPPER_SNAKE_CASE. Le classi usano PascalCase.
val firstName = "Jane"     // camelCase
const val MAX_ITEMS = 50   // UPPER_SNAKE_CASE
class UserProfile           // PascalCase

Perché l'immutabilità è importante

I dati immutabili sono sicuri per i thread per impostazione predefinita, più facili da testare e riducono i bug causati da modifiche inattese. Si chieda sempre: devo modificare questo valore?

Verifica rapida

Quale parola chiave dichiara in Kotlin un riferimento in sola lettura (non riassegnabile)?

Riepilogo

val = riferimento in sola lettura, var = mutabile. Preferisca val. L'inferenza dei tipi consente di omettere i tipi espliciti. Prossimo argomento: i tipi integrati di Kotlin!

Domande Frequenti

La lezione «val e var a confronto: immutabilità fin dal primo giorno» è gratuita?

Sì — il testo completo di «val e var a confronto: immutabilità fin dal primo giorno» è 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 «val e var a confronto: immutabilità fin dal primo giorno»?

Comprendere la differenza tra val e var e l’importanza dell’immutabilità 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 2 di 4.

Quanto tempo richiede la lezione «val e var a confronto: immutabilità fin dal primo giorno»?

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. Configurare Kotlin: REPL, IntelliJ e playground online
  2. val e var a confronto: immutabilità fin dal primo giorno
  3. Tipi di base Kotlin: Int, Double, Boolean, Char
  4. Il primo programma Kotlin: main, println e input
← Torna a Kotlin Academy