Colecții
var people: List<Pers?> = listOf(Pers(23), null)
for (person: Pers? in people) {
println(person?.age)
}
val items = IntArray(2)
items[0] = 1
items[1] = 2
val numbers = intArrayOf(1,2,3,4,5)
numbers.forEachIndexed {index, element ->
println("$index is $element")
}
High order functions
= o funcție care ia ca parametru o altă funcție
val action = { println("Hello World") }
// val calc = {x:Int, y:Int -> x*y}
val calc: (Int, Int) -> Int = {x, y -> x*y}
doSomething(action)
fun doSomething(func: () -> Unit) {
func()
}
Inlining
- ajută la performanță
val ints = listOf(1,2,3,4)
val i = first(ints, { i -> i == 3})
println(i)
inline fun <T> first(items: List<T>, predicate: (T) -> Boolean): T {
for (item in items) {
if (predicate(item)) return item
}
throw Exception()
}
Niciun comentariu:
Trimiteți un comentariu