Kotlin
Les bases de Kotlin
Recherche…
Introduction
Ce sujet couvre les bases de Kotlin pour les débutants.
Remarques
- Le fichier Kotlin a une extension .kt.
- Toutes les classes de Kotlin ont une super-classe commune Any, qui est un super par défaut pour une classe sans supertypes déclarés (similaire à Object en Java).
- Les variables peuvent être déclarées comme val (immutable- assign une fois) ou var (mutable-value peut être modifié)
- Le point-virgule n'est pas nécessaire à la fin de l'instruction.
- Si une fonction ne renvoie aucune valeur utile, son type de retour est Unit.Il est également facultatif. 6. L'égalité référentielle est vérifiée par l'opération ===. un === b est évalué à true si et seulement si a et b pointent vers le même objet.
Exemples de base
1.La déclaration de type de retour d'unité est facultative pour les fonctions. Les codes suivants sont équivalents.
fun printHello(name: String?): Unit {
if (name != null)
println("Hello ${name}")
}
fun printHello(name: String?) {
...
}
2. Fonctions à expression unique: lorsqu'une fonction renvoie une expression unique, les accolades peuvent être omises et le corps est spécifié après = symbole
fun double(x: Int): Int = x * 2
La déclaration explicite du type de retour est facultative lorsque cela peut être déduit par le compilateur
fun double(x: Int) = x * 2
3.Interpolation de chaîne: L'utilisation de valeurs de chaîne est facile.
In java:
int num=10
String s = "i =" + i;
In Kotlin
val num = 10
val s = "i = $num"
4.Dans Kotlin, le système de types distingue les références pouvant contenir des valeurs NULL (références nullables) et celles qui ne le peuvent pas (références non NULL). Par exemple, une variable régulière de type String ne peut pas contenir la valeur null:
var a: String = "abc"
a = null // compilation error
Pour autoriser les valeurs NULL, nous pouvons déclarer une variable en tant que chaîne nullable, écrite String?
var b: String? = "abc"
b = null // ok
5.Dans Kotlin, == vérifie réellement l'égalité des valeurs.Par convention, une expression comme == b est traduite en
a?.equals(b) ?: (b === null)