Fundamentos de Kotlin

brigida_oliveira
19.2K views

Open Source Your Knowledge, Become a Contributor

Technology knowledge has to be shared and made accessible for free. Join the movement.

Create Content
Previous: Enumerações

Funções Lambda

Funções lambda não são novas no Kotlin e existem em muitas outras linguagens como Python, Java e Javascript.

A função Lambda é semelhante a uma função anônima. Uma função anônima é uma função que não tem um nome. Basicamente, a função Lambda é uma forma de criar funções de forma concisa e passá-las como argumento, retorná-las, etc. Podemos chamá-las como chamamos funções simples.

Uma função Lambda pode ser tratada como uma variável. Isso significa que podemos passá-lo como argumentos para funções , retorná-la de funções etc.

funçaõ Lambda em Kotlin

A sintaxe da função lambda em Kotlin é:

val nomeDaLambda : TipoDeDados = { argumentos -> corpodaFunçãoLambda }

Nas função lambdas:

  • Os argumentos são mencionados no lado esquerdo da ->. A -> pode ser eliminada se nenhum argumento estiver presente à esquerda.
  • O corpo da função lambda está presente depois da -> e não pode estar vazio.
  • A última expressão de lambda é considerada como a instrução de retorno.
  • Se nenhum valor for retornado ou o tipo de retorno não for mencionado, o tipo Unit será considerado como tipo de retorno.
  • As funções lambda são chamadas usando o método invoke() ou apenas adicionando () após o nome lambda (com argumentos).

Isso é bastante semelhante às arrow functions do Javascript.

Vamos dar alguns exemplos de código.

Exemplo 1: Vamos começar criando um lambda simples que imprime uma string:

No Exemplo 1, os argumentos e o tipo de retorno foram eliminados.

Exemplo 2: Vamos criar outro exemplo, dessa vez para encontrar a área de um retângulo:

No Exemplo 2 o tipo de retorno é automaticamente inferido como Int.

it na função Lambda

Se houver apenas um argumento presente na função lambda, ele poderá ser substituído pela palavra-chave it. Essa é uma abreviação usada em Kotlin e é muito útil. A palavra-chave it representará o único argumento passado para a função lambda.

Vamos criar um array e imprimir os quadrados dos números nele usando forEach:

A palavra-chave it se refere ao elemento atual quando usamos um loop forEach em um array.

Open Source Your Knowledge: become a Contributor and help others learn. Create New Content