0Pricing
Kotlin Academy · Aula

O que é uma lambda? Sintaxe e tipos

Entenda as expressões lambda: sintaxe, tipos de parâmetros e valores de retorno.

O que é uma lambda? Sintaxe e tipos é 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.

Lambdas em uma frase

Uma lambda é uma função anônima — um valor de função que você pode armazenar em uma variável, passar para outra função ou retornar.

Sintaxe básica de lambda

Uma lambda é escrita entre chaves: os parâmetros ficam à esquerda de -> e o corpo, à direita.

fun main() {
    val greet = { name: String -> "Hello, $name!" }
    println(greet("World"))
}

Lambda sem parâmetros

Omita os parâmetros quando não houver nenhum. A última expressão é o valor de retorno.

fun main() {
    val random = { (1..6).random() }
    println(random()) // some number 1..6
}

Lambda com vários parâmetros

Separe os parâmetros com vírgulas. Especifique os tipos ou deixe que sejam inferidos pelo contexto.

fun main() {
    val sum = { a: Int, b: Int -> a + b }
    println(sum(3, 4)) // 7
}

Inferindo tipos de lambda

Quando a lambda é atribuída a uma variável tipada, os tipos dos parâmetros podem ser omitidos.

fun main() {
    val multiply: (Int, Int) -> Int = { a, b -> a * b }
    println(multiply(6, 7)) // 42
}

Anotações de tipo de lambda

O tipo (Int, Int) -> Int descreve uma função que recebe dois Ints e retorna um Int. É assim que as lambdas são tipadas.

fun main() {
    val op: (Int) -> Int = { x -> x * x }
    println(op(5)) // 25
}

Lambda que retorna Unit

Se a lambda não tiver um valor de retorno útil, seu tipo será () -> Unit. Unit é o equivalente de void no Kotlin.

fun main() {
    val log: (String) -> Unit = { msg -> println("[LOG] $msg") }
    log("Hello")
    log("World")
}

Armazenando lambdas em uma lista

Lambdas são valores — você pode agrupá-las e chamá-las mais tarde.

fun main() {
    val operations: List<(Int) -> Int> = listOf({ it + 1 }, { it * 2 }, { it - 3 })
    for (op in operations) println(op(10))
    // 11, 20, 7
}

Retornando uma lambda

Uma função pode retornar uma lambda, capturando seu ambiente em um fechamento.

fun makeAdder(n: Int): (Int) -> Int = { x -> x + n }
fun main() {
    val add5 = makeAdder(5)
    println(add5(10)) // 15
    println(add5(20)) // 25
}

Lambdas que capturam variáveis

As lambdas podem ler e, no caso de var, modificar variáveis do escopo que as envolve.

fun main() {
    var counter = 0
    val increment = { counter++ }
    increment(); increment(); increment()
    println(counter) // 3
}

Lambdas versus funções anônimas

O Kotlin também tem funções anônimas no estilo fun(x: Int): Int = x * 2. Elas se comportam como lambdas, mas permitem tipos de retorno explícitos e return rotulado.

fun main() {
    val square = fun(x: Int): Int { return x * x }
    println(square(8)) // 64
}

Verificação rápida

O que o tipo (Int) -> String descreve?

Recapitulação

Uma lambda é uma função anônima escrita como { params -> body }. Seu tipo é (ParamTypes) -> ReturnType. As lambdas podem ser armazenadas, passadas, retornadas e capturar variáveis do escopo que as envolve.

Perguntas Frequentes

A aula “O que é uma lambda? Sintaxe e tipos” é grátis?

Sim — o texto completo de “O que é uma lambda? Sintaxe e tipos” é 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 “O que é uma lambda? Sintaxe e tipos”?

Entenda as expressões lambda: sintaxe, tipos de parâmetros e valores de retorno. 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 “O que é uma lambda? Sintaxe e tipos”?

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

  1. O que é uma lambda? Sintaxe e tipos
  2. Passando lambdas para funções
  3. it: o parâmetro implícito
  4. filter, map e find em coleções
← Voltar para Kotlin Academy