it: den implicita parametern
Använd den implicita parametern 'it' i lambdor med en parameter.
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.
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
- Vad är en lambda? Syntax och typer
- Skicka lambdor till funktioner
- it: den implicita parametern
- filter, map och find för samlingar