Kotlin

description: Kotlin Programming Language

lang: FR

Overview

Variables

MĂ©thodes

fun <name>(param : Type, param: Type = <défaut>) : Type {

}
// Expression
fun plusOne(param : Int) : Int = param + 1

// Infix
infix fun plusOne(param : Int) : Int = param + 1
fun <Class>.method() : String {
    return "$This?"
}
operator fun plus(param : Type) : Type {
    val newValue = param.value + 1
    return new Type(newValue)
}
val x : (t : Type) -> AutreType = { variables -> corps}

Classe

class Truc(truc : Type) {
    constructor(param : Int, param2 : Int) : this(Type(param + parm2))
}
class Truc(var truc : Type) {
    // truc est un class field ici.
}
open class C {
open val myValue = 1
}

class D : C() {
    override val myValue = 0
}

Flot de contrĂ´le

For

If

When

when(i) {
    is Int -> truc
    is String -> truc
    else -> default case ou {}
}
when(i) {
    0 -> truc
    1 -> autre truc
    in start..end -> truc
    else -> default case
}
``
- Il s'agit d'expression Ă©galement donc on peut l'assigner.

Scope functions

Interfaces

interface Truc {
    var test  : Int get() = 1
}

class Bidule : Truc, Truc2 {
 // corps
}

Abstract class

Génériques

class Truc<T> {
    // Corps
}
interface Produce<out T> {
    fun produce() : T
}
interface Consume<in T> {
    fun consume(t :T)
}
inline fun <reified T> method(p : Any) {
    return p as T
}

Type alias

Modifiers

Coroutines