it: parametr niejawny
Używaj niejawnego parametru „it” w lambdach z jednym parametrem.
it: parametr niejawny to bezpłatna lekcja Kotlin Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Kotlin Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Kotlin Academy zawiera 4 lekcji w sumie.
Niejawny parametr it
Gdy lambda ma dokładnie jeden parametr, można pominąć jego deklarację i odwoływać się do niego jako do it. Pozwala to ograniczyć ilość kodu w krótkich potokach.
it w forEach
Klasyczny przykład: forEach przekazuje każdy element jako it.
fun main() {
listOf(1, 2, 3).forEach { println(it) }
}it w map
Przekształcaj każdy element, używając it jako danych wejściowych.
fun main() {
val doubled = listOf(1, 2, 3).map { it * 2 }
println(doubled) // [2, 4, 6]
}it w filter
filter zachowuje elementy, dla których lambda zwraca true. it oznacza bieżący element.
fun main() {
val evens = listOf(1, 2, 3, 4, 5).filter { it % 2 == 0 }
println(evens) // [2, 4]
}Kiedy NIE używać it
Jeśli ciało lambdy nie jest trywialne, nazwij parametr jawnie. Nazwanie parametru poprawia czytelność w porównaniu ze skróconym 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 w zagnieżdżonych lambdach
Zachowaj ostrożność w przypadku zagnieżdżonych lambd: każde it odnosi się do lambdy znajdującej się najbardziej wewnątrz. Nazwanie parametrów eliminuje niejednoznaczność.
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 z metodami String
Typowy wzorzec: filtrowanie i mapowanie napisów za pomocą it.
fun main() {
val names = listOf("Alice", "bob", "Charlie")
val upper = names.map { it.uppercase() }
println(upper)
}it z właściwościami
it.property to czytelny sposób uzyskiwania dostępu do pól podczas łączenia operacji.
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]
}Predykaty z it
Predykaty (lambdy zwracające Boolean) naturalnie korzystają z 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
}Własne funkcje z it
Każda funkcja wyższego rzędu z jednoargumentową lambdą automatycznie udostępnia 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 wewnątrz funkcji zakresu
Niektóre funkcje zakresu (let, also) używają it jako receivera, a inne (apply, run) używają this. Wybór zależy od tego, czy chcesz jawnie odwoływać się do receivera.
fun main() {
val name: String? = "Kotlin"
name?.let { println("hello $it") } // it = name
}Szybkie sprawdzenie
Kiedy można użyć it zamiast nazywać parametr lambdy?
Podsumowanie
it to niejawna nazwa jedynego parametru lambdy jednoargumentowej. Używaj go, aby skracać krótkie lambdy. Nazywaj parametry jawnie, gdy ciała lambd stają się dłuższe lub zagnieżdżenie może powodować niejasności.
Często zadawane pytania
Czy lekcja „it: parametr niejawny” jest bezpłatna?
Tak — pełny tekst „it: parametr niejawny” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Kotlin Academy, przejdź na CoddyKit PRO. Kurs Kotlin Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „it: parametr niejawny”?
Używaj niejawnego parametru „it” w lambdach z jednym parametrem. Ćwiczysz Kotlin Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Kotlin Academy?
Nie wymagamy żadnego doświadczenia. Kotlin Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.
Ile czasu zajmuje lekcja „it: parametr niejawny”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Kotlin Academy?
Tak. Każda lekcja Kotlin Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Czym jest lambda? Składnia i typy
- Przekazywanie lambd do funkcji
- it: parametr niejawny
- filter, map i find dla kolekcji