it: o parâmetro implícito
Use o parâmetro implícito 'it' em lambdas com um único parâmetro.
it: o parâmetro implícito é uma aula grátis de Kotlin Academy no CoddyKit. Esta é a aula 3 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 it implícito
Quando uma lambda tem exatamente um parâmetro, você pode omitir sua declaração e referenciá-lo como it. Isso reduz a quantidade de código em fluxos de dados curtos.
it em forEach
O exemplo clássico: forEach passa cada elemento como it.
fun main() {
listOf(1, 2, 3).forEach { println(it) }
}it na transformação de elementos
Transforme cada elemento usando it como entrada.
fun main() {
val doubled = listOf(1, 2, 3).map { it * 2 }
println(doubled) // [2, 4, 6]
}it na filtragem
filter mantém os elementos para os quais a lambda retorna verdadeiro. it representa o elemento atual.
fun main() {
val evens = listOf(1, 2, 3, 4, 5).filter { it % 2 == 0 }
println(evens) // [2, 4]
}Quando NÃO usar it
Se o corpo da lambda não for trivial, nomeie o parâmetro explicitamente. Dar um nome melhora a clareza em comparação com o it abreviado.
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 em lambdas aninhadas
Tenha cuidado com lambdas aninhadas: cada it se vincula à lambda mais interna. Nomear os parâmetros evita ambiguidades.
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 com métodos de string
Um padrão comum: filtrar e transformar strings usando it.
fun main() {
val names = listOf("Alice", "bob", "Charlie")
val upper = names.map { it.uppercase() }
println(upper)
}it com propriedades
it.property é uma forma clara de acessar campos ao encadear operações.
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]
}Predicados com it
Predicados (lambdas que retornam Booleano) ficam naturais com 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
}Funções personalizadas com it
Qualquer função de ordem superior com uma lambda de um único parâmetro fornece it automaticamente.
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 dentro de funções de escopo
Algumas funções de escopo (let, also) usam it como receptor; outras (apply, run) usam this. Escolha com base na necessidade de referenciar o receptor explicitamente.
fun main() {
val name: String? = "Kotlin"
name?.let { println("hello $it") } // it = name
}Verificação rápida
Quando você pode usar it em vez de nomear um parâmetro lambda?
Recapitulação
it é o nome implícito do único parâmetro de uma lambda de um parâmetro. Use-o para encurtar lambdas curtas. Nomeie os parâmetros explicitamente quando os corpos crescerem ou quando o aninhamento puder causar confusão.
Perguntas Frequentes
A aula “it: o parâmetro implícito” é grátis?
Sim — o texto completo de “it: o parâmetro implícito” é 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 “it: o parâmetro implícito”?
Use o parâmetro implícito 'it' em lambdas com um único parâmetro. 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 3 de 4.
Quanto tempo leva a aula “it: o parâmetro implícito”?
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
- O que é uma lambda? Sintaxe e tipos
- Passando lambdas para funções
- it: o parâmetro implícito
- filter, map e find em coleções