let e run
Opere sobre objetos
let e run é uma aula grátis de Kotlin Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Kotlin Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Kotlin Academy inclui 4 aulas no total.
O Que São Funções de Escopo
O Kotlin oferece cinco funções de escopo: let, run, with, apply e also. Elas permitem executar um bloco de código sobre um objeto dentro de um escopo temporário.
- Você faz referência ao objeto como
itouthis. - O bloco retorna o próprio objeto ou o resultado da função lambda.
Nesta lição, o foco está em let e run.
A função let
let executa um bloco no qual o objeto fica disponível como it e retorna o resultado da lambda.
É excelente para executar código somente quando um valor não é nulo e para transformar um valor em outra coisa.
fun main() {
val name = "Alice"
val length = name.let {
println("Name is $it")
it.length
}
println("Length: $length")
}let com valores anuláveis
O uso mais comum de let é com o operador de chamada segura ?. O bloco é executado somente quando o valor não é nulo.
fun main() {
val name: String? = "Bob"
name?.let {
println("Hello, $it")
}
val empty: String? = null
empty?.let {
println("This never prints")
}
println("Done")
}Renomeando it em let
Dentro de let, você pode renomear it para um nome significativo declarando um parâmetro de lambda.
fun main() {
val price = 100
price.let { amount ->
println("The amount is $amount")
}
}A função run
run executa um bloco no qual o objeto fica disponível como this e retorna o resultado da lambda.
Use-a quando quiser acessar membros diretamente, sem um prefixo.
fun main() {
val text = "Kotlin"
val upper = text.run {
println("Length is $length")
uppercase()
}
println(upper)
}run sem um receptor
run também pode ser chamado sem um objeto. Ele simplesmente executa um bloco e retorna o resultado dele. Isso é útil para agrupar instruções e calcular um valor.
fun main() {
val result = run {
val a = 5
val b = 10
a + b
}
println("Result: $result")
}it versus this
A principal diferença entre let e run é a forma como eles fazem referência ao objeto:
letusait(um parâmetro).runusathis(um receptor, geralmente implícito).
Ambos retornam o resultado da última expressão no bloco.
fun main() {
val word = "hi"
val a = word.let { it.length }
val b = word.run { length }
println("$a $b")
}Encadeando com let
Como let retorna o resultado da lambda, você pode encadear chamadas e transformar um valor passo a passo.
fun main() {
val number = 4
val output = number
.let { it * 2 }
.let { it + 1 }
println(output)
}run para verificações de nulos e cálculos
Assim como let, run funciona com chamadas seguras. Ele combina uma verificação de nulo com o acesso a membros em um único bloco.
fun main() {
val message: String? = "Welcome"
val length = message?.run {
println(this)
length
}
println("Length: $length")
}Retornando tipos diferentes
Ambas as funções podem retornar um tipo diferente do objeto. O tipo de retorno é determinado pelo valor avaliado na última linha.
fun main() {
val n = 10
val label: String = n.let { "Value is $it" }
println(label)
}Quando usar let ou run
Use let para operações seguras para nulos e transformações de valores nas quais it seja uma referência clara.
Use run quando quiser chamar vários membros do objeto e calcular um resultado, com this fornecendo acesso direto.
Verificação rápida
Teste sua compreensão de let e run.
Recapitulação
Você aprendeu as duas funções de escopo que retornam resultados:
letexpõe o objeto comoite retorna o resultado da lambda, sendo ideal para transformações seguras para nulos.runexpõe o objeto comothise retorna o resultado da lambda, sendo ideal para agrupar o acesso a membros.
Em seguida, você aprenderá a configurar objetos com apply e adicionar efeitos colaterais com also.
Aprenda Kotlin com um tutor de IA — grátis
Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.
- Cursos
- 51
- Aulas
- 203
Perguntas Frequentes
A aula “let e run” é grátis?
Sim — o texto completo de “let e run” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Kotlin Academy, atualize para CoddyKit PRO. O curso de Kotlin Academy inclui 4 aulas no total.
O que vou aprender em “let e run”?
Opere sobre objetos Você pratica Kotlin Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Kotlin Academy?
Nenhuma experiência prévia é necessária. Kotlin Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “let e run”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Kotlin Academy?
Sim. Cada aula de Kotlin Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.