0Pricing
Kotlin Academy · Lekcja

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

  1. Czym jest lambda? Składnia i typy
  2. Przekazywanie lambd do funkcji
  3. it: parametr niejawny
  4. filter, map i find dla kolekcji
← Powrót do Kotlin Academy