Bases & syntaxe
// Commentaires simples et multi-lignes
// Simple
//multi-line
Utilisez pour des explications ou des sections complexes.
Déclaration de variables
val pi = 3.14
var count = 0
valpour immuable,varpour mutable.
Types de données
val intValue: Int = 10
val stringValue: String = "Hello"
val booleanValue: Boolean = true
Kotlin est fortement typé avec des types par défaut :
Int,String, etc.
Structures de données
Listes
val numbers = listOf(1, 2, 3)
val mutableNumbers = mutableListOf(1, 2, 3)
Pour stocker une collection ordonnée d'éléments.
Dictionnaires
val userMap = mapOf("name" to "Alice", "age" to 25)
val mutableUserMap = mutableMapOf("name" to "Alice")
mutableUserMap["age"] = 26
Pour stocker des paires clé-valeur.
Sets
val uniqueNumbers = setOf(1, 2, 3, 3)
val mutableUniqueNumbers = mutableSetOf(1, 2, 3)
mutableUniqueNumbers.add(4)
Pour stocker une collection d'éléments uniques.
Fonctions & methodes essentielles
Définition de fonction
fun greet(name: String): String {
return "Hello, $name!"
}
funpour définir une fonction.
Fonction lambda simple
val add = { x: Int, y: Int -> x + y }
Utilisez pour des fonctions courtes et anonymes.
Patterns courants
Extension functions
fun String.isEven(): Boolean {
return this.toInt() % 2 == 0
}
Ajoutez des fonctionnalités à des types existants.
Data classes
data class User(val id: Int, val name: String)
Pour les classes de données simples.
Opérations avancées
Coroutines
import kotlinx.coroutines.*
fun main() = runBlocking {
launch {
delay(1000L)
println("World!")
}
println("Hello,")
}
Pour des tâches asynchrones et non bloquantes.
Flow
import kotlinx.coroutines.flow.*
fun flowOfInts(): Flow<Int> = flow {
for (i in 1..3) {
delay(500L)
emit(i)
}
}
Pour traiter des séquences de données asynchrones.
Debugging & outils
Utilisation du debugger
// Placez un point d'arrêt et exécutez le code en mode débogage
Outils intégrés pour déboguer votre code Kotlin.
Logging
import org.slf4j.LoggerFactory
val logger = LoggerFactory.getLogger("MyLogger")
logger.info("This is an info message")
logger.error("This is an error message")
Utilisez pour suivre l'exécution de votre application.