Kotlin (tsz. Kotlins)
A Kotlin egy modern, statikusan típusos programozási nyelv, amelyet a JetBrains fejlesztett ki, és 2011-ben jelent meg. Legismertebb felhasználási területe az Android-fejlesztés, de teljes értékű nyelv a backend fejlesztéshez, frontendhez (JavaScript vagy WebAssembly), sőt multiplatform alkalmazásokhoz is (pl. Kotlin Multiplatform Mobile – KMM).
NullPointerException
ellen
fun main() {
println("Hello, Kotlin!")
}
val x = 10 // konstans, nem módosítható
var y = 5 // változó, módosítható
val name: String = "Dani"
val age: Int = 25
val pi: Double = 3.14
val max = if (a > b) a else b
when (x) {
1 -> println("Egy")
2 -> println("Kettő")
else -> println("Más")
}
for (i in 1..5) println(i)
while (x < 10) {
x++
}
fun add(a: Int, b: Int): Int {
return a + b
}
Rövid forma:
fun add(a: Int, b: Int) = a + b
Default és név szerinti paraméterek:
fun greet(name: String = "Világ") {
println("Helló, $name!")
}
greet() // Helló, Világ!
greet("Dani") // Helló, Dani!
class Person(val name: String, var age: Int)
val p = Person("Dani", 25)
println(p.name)
Konstruktorral:
class Person(val name: String, val age: Int)
open class Animal {
open fun speak() = println("Hangot ad")
}
class Dog : Animal() {
override fun speak() = println("Vau!")
}
data class User(val name: String, val age: Int)
val u1 = User("Dani", 30)
println(u1.copy(age = 31)) // másolat új értékkel
Automatikusan generál: equals()
, hashCode()
, toString()
, copy()
val list = listOf(1, 2, 3, 4)
val doubled = list.map { it * 2 }
val evens = list.filter { it % 2 == 0 }
val sum = list.reduce { acc, i -> acc + i }
var name: String? = null // lehet null
val len = name?.length // null-safe hívás
val l = name?.length ?: 0 // Elvis-operátor (null esetén 0)
val items = listOf("alma", "banán", "körte")
for (item in items) println(item)
val numbers = mutableListOf(1, 2, 3)
numbers.add(4)
import kotlinx.coroutines.*
fun main() = runBlocking {
launch {
delay(1000L)
println("Világ!")
}
println("Helló,")
}
Kotlin kiváltotta a Java nyelvet az Android világában:
shared
modulban
Felsorolás | Kotlin előnye Java-val szemben |
---|---|
Nullbiztonság | Beépített típusellenőrzés |
Kevesebb kód | Intelligens szintaxis, lambda |
Adatosztályok | Egy sorban equals , toString , stb.
|
Kotlin DSL | Pl. Gradle Kotlin szkriptek |
Android támogatás | Google hivatalosan ajánlja |