Escolha a Opção Certa
Saiba quando usar cada uma
Escolha a Opção Certa é uma aula grátis de Kotlin Academy no CoddyKit. Esta é a aula 4 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.
Escolhendo uma função de escopo
Com cinco funções de escopo disponíveis, escolher a certa se resume a duas perguntas:
- Como o objeto é referenciado:
thisouit? - O que é retornado: o resultado da lambda ou o objeto?
A tabela de decisão
A visão completa é esta:
letusaite retorna o resultado da lambda.runusathise retorna o resultado da lambda.withusathis(argumento) e retorna o resultado da lambda.applyusathise retorna o objeto.alsousaite retorna o objeto.
Use let para segurança contra nulos
Quando você tem um valor anulável e quer agir sobre ele somente se estiver presente, use let com uma chamada segura.
fun main() {
val name: String? = "Ada"
name?.let { println("Hello $it") }
}Use run para this + resultado
Quando quiser acessar membros com this e calcular um resultado, use run.
fun main() {
val text = "scope"
val info = text.run { "$this has length $length" }
println(info)
}Use with para agrupamento
Quando você tem um objeto não nulo e quer executar várias operações nele, with é uma escolha natural.
fun main() {
val list = listOf(1, 2, 3)
with(list) {
println(sum())
println(size)
}
}Use apply para configuração
Quando você cria um objeto e precisa definir várias propriedades, apply mantém o código organizado e retorna o objeto.
data class Server(var host: String = "", var port: Int = 0)
fun main() {
val server = Server().apply {
host = "0.0.0.0"
port = 80
}
println(server)
}Use also para efeitos colaterais
Quando quiser registrar, depurar ou validar sem alterar o objeto, also com it é a escolha certa.
fun main() {
val nums = listOf(1, 2, 3)
.also { println("Got ${it.size} items") }
println(nums.sum())
}Combinando funções de escopo
O código real costuma encadeá-las: configure com apply, registre com also e transforme com let.
data class User(var name: String = "", var score: Int = 0)
fun main() {
val label = User()
.apply { name = "Max"; score = 90 }
.also { println("Created $it") }
.let { "${it.name}: ${it.score}" }
println(label)
}Evitando o uso excessivo
As funções de escopo podem prejudicar a legibilidade quando são aninhadas ou usadas em excesso. Se uma variável simples e um código explícito forem mais claros, prefira essa abordagem. Use funções de escopo para eliminar repetições reais, não para parecer engenhoso.
Armadilha do aninhamento
Aninhar funções de escopo torna it e this ambíguos. Se precisar aninhá-las, renomeie o parâmetro para manter tudo claro.
fun main() {
val outer = "A"
outer.let { o ->
"B".let { i ->
println("$o then $i")
}
}
}Um modelo mental rápido
Lembre-se: as funções que retornam o objeto (apply, also) criam fluxos; as funções que retornam resultados (let, run, with) transformam valores. Escolha entre it e this com base na legibilidade.
Verificação rápida
Qual função de escopo você deve usar para configurar um objeto recém-criado e obter esse objeto de volta?
Recapitulação
Agora você tem uma estrutura para tomar decisões: escolha pela referência (this versus it) e pelo valor de retorno (objeto versus resultado). let e run transformam, with agrupa, apply configura e also adiciona efeitos colaterais. Use-os para reduzir o excesso, não para aumentá-lo.
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 “Escolha a Opção Certa” é grátis?
Sim — o texto completo de “Escolha a Opção Certa” é 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 “Escolha a Opção Certa”?
Saiba quando usar cada uma 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 4 de 4.
Quanto tempo leva a aula “Escolha a Opção Certa”?
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.
Todas as aulas deste curso
- let e run
- apply e also
- with
- Escolha a Opção Certa