Kotlin Academy · Lektion

it: den implicita parametern

Använd den implicita parametern 'it' i lambdor med en parameter.

Lektion 3 av 413 steg

it: den implicita parametern är en gratis lektion i Kotlin Academy på CoddyKit. Detta är lektion 3 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Kotlin Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Kotlin Academy innehåller totalt 4 lektioner.

Det implicita it

När en lambda har exakt en parameter kan du utelämna deklarationen av den och referera till den som it. Det sparar skrivande i korta pipelines.

it i forEach

Det klassiska exemplet: forEach skickar varje element som it.

fun main() {
    listOf(1, 2, 3).forEach { println(it) }
}

it i map

Transformera varje element genom att använda it som indata.

fun main() {
    val doubled = listOf(1, 2, 3).map { it * 2 }
    println(doubled) // [2, 4, 6]
}

it i filter

filter behåller de element för vilka lambdan returnerar true. it står för det aktuella elementet.

fun main() {
    val evens = listOf(1, 2, 3, 4, 5).filter { it % 2 == 0 }
    println(evens) // [2, 4]
}

När it INTE ska användas

Om lambdans kropp inte är trivial bör du namnge parametern explicit. Ett namn ger bättre tydlighet än det förkortade it.

fun main() {
    val users = listOf("alice", "bob")
    // OK
    users.forEach { println(it) }
    // Clearer with a name when body is bigger
    users.forEach { name ->
        println("User: $name length=${name.length}")
    }
}

it i nästlade lambdas

Var försiktig med nästlade lambdas: varje it binds till den innersta lambdan. Namngivna parametrar undviker tvetydighet.

fun main() {
    val nested = listOf(listOf(1, 2), listOf(3, 4))
    // Both lambdas use it — confusing!
    nested.forEach { outer ->
        outer.forEach { inner ->
            println("$outer -> $inner")
        }
    }
}

it med strängmetoder

Ett vanligt mönster är att filtrera eller transformera strängar med it.

fun main() {
    val names = listOf("Alice", "bob", "Charlie")
    val upper = names.map { it.uppercase() }
    println(upper)
}

it med egenskaper

it.property är ett tydligt sätt att komma åt fält när du kedjar operationer.

data class Person(val name: String, val age: Int)
fun main() {
    val people = listOf(Person("Ana", 20), Person("Ben", 35))
    val names = people.map { it.name }
    println(names) // [Ana, Ben]
}

Predikat med it

Predikat (lambdas som returnerar Boolean) blir lättlästa med it.

fun main() {
    val nums = listOf(1, 4, 7, 9)
    println(nums.any { it > 5 }) // true
    println(nums.all { it > 0 }) // true
    println(nums.none { it < 0 }) // true
}

Egna funktioner med it

Alla högre ordningens funktioner med en lambda som tar en parameter ger dig automatiskt it.

fun <T> List<T>.firstWhere(predicate: (T) -> Boolean): T? {
    for (item in this) if (predicate(item)) return item
    return null
}
fun main() {
    val n = listOf(3, 8, 4, 5).firstWhere { it > 5 }
    println(n) // 8
}

it i scope-funktioner

Vissa scope-funktioner (let, also) använder it som mottagare, medan andra (apply, run) använder this. Välj utifrån om du vill referera till mottagaren explicit.

fun main() {
    val name: String? = "Kotlin"
    name?.let { println("hello $it") } // it = name
}

Snabbkontroll

När kan du använda it i stället för att namnge en lambdaparameter?

Sammanfattning

it är det implicita namnet på den enda parametern i en lambda med en parameter. Använd det för att förkorta korta lambdas. Namnge parametrar explicit när kropparna växer eller när nästling kan orsaka förvirring.

Gratis att börja

Lär dig Kotlin med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
51
Lektioner
203

Vanliga frågor

Är lektionen ”it: den implicita parametern” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Kotlin Academy, inklusive ”it: den implicita parametern”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Kotlin Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”it: den implicita parametern”?

Använd den implicita parametern 'it' i lambdor med en parameter. Ni övar på Kotlin Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Kotlin Academy?

Du behöver inga förkunskaper. Utbildningen i Kotlin Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 4.

Hur lång tid tar lektionen ”it: den implicita parametern”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Kotlin Academy-lektionen?

Ja. Varje Kotlin Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Vad är en lambda? Syntax och typer
  2. Skicka lambdor till funktioner
  3. it: den implicita parametern
  4. filter, map och find för samlingar
← Tillbaka till Kotlin Academy