let i run
Wykonuj operacje na obiektach
let i run to bezpłatna lekcja Kotlin Academy na CoddyKit. To lekcja 1 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.
Czym są funkcje zakresu
Kotlin oferuje pięć funkcji zakresu: let, run, with, apply i also. Pozwalają one wykonać blok kodu na obiekcie w tymczasowym zakresie.
- Do obiektu można odwołać się jako do
itlubthis. - Blok zwraca sam obiekt albo wynik lambdy.
W tej lekcji skupimy się na funkcjach let i run.
Funkcja let
let wykonuje blok, w którym obiekt jest dostępny jako it, i zwraca wynik lambdy.
Świetnie nadaje się do wykonywania kodu tylko wtedy, gdy wartość nie jest równa null, a także do przekształcania wartości w coś innego.
fun main() {
val name = "Alice"
val length = name.let {
println("Name is $it")
it.length
}
println("Length: $length")
}let z wartościami dopuszczającymi null
Najczęściej let jest używane razem z operatorem bezpiecznego wywołania ?. Blok jest wykonywany tylko wtedy, gdy wartość nie jest równa null.
fun main() {
val name: String? = "Bob"
name?.let {
println("Hello, $it")
}
val empty: String? = null
empty?.let {
println("This never prints")
}
println("Done")
}Zmiana nazwy it w let
Wewnątrz let można nadać it znaczącą nazwę, deklarując parametr lambdy.
fun main() {
val price = 100
price.let { amount ->
println("The amount is $amount")
}
}Funkcja run
run wykonuje blok, w którym obiekt jest dostępny jako this, i zwraca wynik lambdy.
Używaj go, gdy chcesz uzyskiwać bezpośredni dostęp do składowych bez prefiksu.
fun main() {
val text = "Kotlin"
val upper = text.run {
println("Length is $length")
uppercase()
}
println(upper)
}run bez odbiorcy
run można również wywołać bez obiektu. Po prostu wykonuje blok i zwraca jego wynik. Jest to przydatne do grupowania instrukcji i obliczania wartości.
fun main() {
val result = run {
val a = 5
val b = 10
a + b
}
println("Result: $result")
}it a this
Najważniejsza różnica między let i run dotyczy sposobu odwoływania się do obiektu:
letużywait(parametru).runużywathis(odbiorcy, często domyślnego).
Obie funkcje zwracają wynik ostatniego wyrażenia w bloku.
fun main() {
val word = "hi"
val a = word.let { it.length }
val b = word.run { length }
println("$a $b")
}Łączenie wywołań za pomocą let
Ponieważ let zwraca wynik lambdy, można łączyć wywołania i krok po kroku przekształcać wartość.
fun main() {
val number = 4
val output = number
.let { it * 2 }
.let { it + 1 }
println(output)
}run do sprawdzania null i obliczeń
Podobnie jak let, run działa z bezpiecznymi wywołaniami. Łączy sprawdzenie wartości null z dostępem do składowych w jednym bloku.
fun main() {
val message: String? = "Welcome"
val length = message?.run {
println(this)
length
}
println("Length: $length")
}Zwracanie różnych typów
Obie funkcje mogą zwracać typ inny niż typ obiektu. Typem zwracanym jest typ wartości obliczonej przez ostatni wiersz.
fun main() {
val n = 10
val label: String = n.let { "Value is $it" }
println(label)
}Kiedy używać let lub run
Używaj let do operacji bezpiecznych dla wartości null i przekształcania wartości, gdy it zapewnia czytelność kodu.
Używaj run, gdy chcesz wywołać kilka składowych obiektu i obliczyć wynik, korzystając z bezpośredniego dostępu zapewnianego przez this.
Szybki test
Sprawdź swoją wiedzę o let i run.
Podsumowanie
Poznali Państwo dwie funkcje zakresowe zwracające wynik:
letudostępnia obiekt jakoiti zwraca wynik lambdy, dzięki czemu świetnie nadaje się do przekształceń bezpiecznych dla wartości null.runudostępnia obiekt jakothisi zwraca wynik lambdy, dzięki czemu świetnie nadaje się do grupowania dostępu do składowych.
W następnej części skonfigurują Państwo obiekty za pomocą apply i dodadzą efekty uboczne za pomocą also.
Często zadawane pytania
Czy lekcja „let i run” jest bezpłatna?
Tak — pełny tekst „let i run” 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 „let i run”?
Wykonuj operacje na obiektach Ć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 1 z 4.
Ile czasu zajmuje lekcja „let i run”?
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.