Cos'è la null safety
Fa parte della sezione Fondamenti del percorso Kotlin di Coddy. Lezione 12 di 93.
In molti linguaggi di programmazione, uno degli errori più comuni consiste nel tentare di accedere a qualcosa che non esiste: un valore null. Questo accade quando una variabile contiene «nulla» invece di dati effettivi.
Immagina di chiedere il nome di un utente, ma che non te lo abbia mai fornito. Se il tuo codice prova a usare quel nome vuoto senza prima controllare, il programma si arresta in modo anomalo. Questo tipo di bug è così comune che è stato definito «l’errore da miliardi di dollari».
La soluzione di Kotlin: la sicurezza contro i valori null
Kotlin è stato progettato per eliminare questi arresti anomali. Per impostazione predefinita, le variabili in Kotlin non possono contenere valori null:
fun main() {
var name: String = "Alice"
name = null // Errore! Non verrà compilato
}Il compilatore rileva questo problema prima ancora che il tuo codice venga eseguito. È questo che rende Kotlin «sicuro rispetto ai valori null»: il linguaggio stesso ti impedisce di usare accidentalmente null dove non dovresti.
Nelle prossime lezioni imparerai come Kotlin ti permette di lavorare con valori che potrebbero essere null quando ne hai davvero bisogno, mantenendo comunque il tuo codice al sicuro dagli arresti anomali.
Sfida
FacileDichiara due variabili non nullabili per dimostrare la sicurezza rispetto ai valori null in Kotlin:
- Una variabile
Stringdenominatausernamecon il valore"Kotlin" - Una variabile
Intdenominatascorecon il valore100
Poi stampa entrambi i valori su righe separate usando println().
Ricorda: in Kotlin, i tipi regolari (non nullabili) non possono contenere valori
null. Il compilatore garantisce che le tue variabili contengano sempre dati validi.
Provalo tu
fun main() {
// TODO: Scrivi il tuo codice qui sotto
// Dichiara una variabile String non nullable chiamata 'username' con valore "Kotlin"
// Dichiara una variabile Int non nullable chiamata 'score' con valore 100
// Stampa entrambi i valori su righe separate usando println()
}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