Alias di tipo
Assegni un nome ai tipi complessi
Alias di tipo è una lezione Kotlin Academy gratuita su CoddyKit. Questa è la lezione 1 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.
Che cos'è un alias di tipo?
Un alias di tipo assegna un nuovo nome a un tipo esistente. Non introduce un nuovo tipo: è solo uno strumento di leggibilità risolto in fase di compilazione.
Lo si dichiara con la parola chiave typealias.
typealias Name = String
fun main() {
val n: Name = "Alice"
println(n)
}Dare un nome ai tipi funzione
I tipi funzione possono essere verbosi. Un alias rende le firme molto più facili da leggere.
typealias Handler = (String) -> Unit
fun register(h: Handler) {
h("event fired")
}
fun main() {
register { msg -> println(msg) }
}Dare un nome ai tipi generici
I generics profondamente annidati, come Map<String, List<Int>>, sono più leggibili con un alias.
typealias ScoreBoard = Map<String, List<Int>>
fun main() {
val board: ScoreBoard = mapOf("team1" to listOf(10, 20))
println(board)
}Gli alias sono trasparenti
Poiché un alias indica lo stesso tipo, i valori sono completamente intercambiabili. Name e String possono essere mescolati liberamente senza conversioni.
typealias Name = String
fun shout(s: String) = s.uppercase()
fun main() {
val n: Name = "bob"
println(shout(n))
}Alias parametrizzati
Un alias di tipo può avere parametri di tipo propri e passarli al tipo sottostante.
typealias Pairs<T> = List<Pair<T, T>>
fun main() {
val data: Pairs<Int> = listOf(1 to 2, 3 to 4)
println(data)
}Creare alias per classi annidate
Un percorso lungo verso una classe annidata o interna può ricevere un alias breve, riducendo il rumore degli import e il disordine nel codice.
class Outer {
class Inner {
fun hello() = "inner hello"
}
}
typealias Shortcut = Outer.Inner
fun main() {
println(Shortcut().hello())
}Migliorare la leggibilità del dominio
Gli alias comunicano l'intento. typealias UserId = Int documenta che un intero rappresenta l'identità di un utente, anche se il compilatore continua a trattarlo come Int.
typealias UserId = Int
typealias Email = String
fun notify(id: UserId, to: Email) {
println("Notify user " + id + " at " + to)
}
fun main() {
notify(42, "a@b.com")
}Nessuna sicurezza aggiuntiva sui tipi
Attenzione: poiché gli alias sono trasparenti, il compilatore non impedirà di passare un UserId dove è previsto un alias diverso di Int. Sono documentazione, non un meccanismo di controllo.
typealias UserId = Int
typealias OrderId = Int
fun process(order: OrderId) = println("order " + order)
fun main() {
val user: UserId = 5
process(user) // compiles fine — both are Int
}Solo al primo livello
Gli alias di tipo devono essere dichiarati al primo livello di un file. Non è possibile definirli all'interno di funzioni o classi. Li si collochi vicino al codice correlato o in un file dedicato.
typealias Callback = () -> Unit
fun run(cb: Callback) = cb()
fun main() {
run { println("done") }
}Quando usare gli alias
Si ricorra agli alias di tipo quando:
- Un tipo funzione o un generics è lungo e viene ripetuto
- Si desiderano nomi autoesplicativi per i tipi primitivi
- Serve un riferimento breve a un tipo annidato
Quando serve una vera sicurezza sui tipi, si usi invece una value class.
Alias e value class
Un alias è lo stesso tipo con un nuovo nome: sicurezza nulla. Una value class è un tipo distinto che impedisce di mescolare i valori. La prossima lezione tratta le value class.
Verifica rapida
Verifichi la Sua comprensione degli alias di tipo.
Riepilogo
Ha imparato a usare gli alias di tipo:
- Dichiarati con
typealiasal primo livello - Sono solo un nuovo nome e completamente trasparenti
- Utili per tipi funzione, generics e leggibilità
- Non aggiungono sicurezza sui tipi
Prossimo argomento: value class inline per creare wrapper senza costi aggiuntivi.
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 «Alias di tipo» è gratuita?
Sì — il testo completo di «Alias di tipo» è 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 «Alias di tipo»?
Assegni un nome ai tipi complessi 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 1 di 4.
Quanto tempo richiede la lezione «Alias di tipo»?
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
- Alias di tipo
- Inline value class
- Casi d'uso
- Limitazioni