Kotlin
Nozioni di base di Kotlin
Ricerca…
introduzione
Questo argomento copre le basi di Kotlin per i principianti.
Osservazioni
- Il file Kotlin ha un'estensione .kt.
- Tutte le classi in Kotlin hanno una superclasse comune Any, che è un super predefinito per una classe senza dichiarare supertipi (simile a Object in Java).
- Le variabili possono essere dichiarate come val (immutable- assign once once) o var (mutables- valore può essere modificato)
- Il punto e virgola non è necessario alla fine della dichiarazione.
- Se una funzione non restituisce alcun valore utile, il suo tipo di ritorno è Unit.It è anche facoltativo. 6. L'uguaglianza regi- strale viene verificata dall'operazione ===. a === b restituisce true se e solo se a e b puntano allo stesso oggetto.
Esempi di base
1. La dichiarazione del tipo di ritorno dell'Unità è opzionale per le funzioni. I seguenti codici sono equivalenti.
fun printHello(name: String?): Unit {
if (name != null)
println("Hello ${name}")
}
fun printHello(name: String?) {
...
}
2. Funzioni Single-Expression: quando una funzione restituisce una singola espressione, le parentesi graffe possono essere omesse e il corpo viene specificato dopo = simbolo
fun double(x: Int): Int = x * 2
Dichiarare esplicitamente che il tipo di reso è facoltativo quando questo può essere dedotto dal compilatore
fun double(x: Int) = x * 2
3. Interpolazione a stringhe: l'uso di valori stringa è facile.
In java:
int num=10
String s = "i =" + i;
In Kotlin
val num = 10
val s = "i = $num"
4. In Kotlin, il sistema tipo distingue tra riferimenti che possono contenere null (riferimenti nullable) e quelli che non possono contenere (riferimenti non nulli). Ad esempio, una variabile regolare di tipo String non può contenere null:
var a: String = "abc"
a = null // compilation error
Per consentire i null, possiamo dichiarare una variabile come stringa nullable, scritta String ?:
var b: String? = "abc"
b = null // ok
5.In Kotlin, == controlla effettivamente l'uguaglianza dei valori. Per convenzione, viene tradotta un'espressione come a == b
a?.equals(b) ?: (b === null)