Kotlin Lambda

Kotlin Lambda
As funções ou expressões lambda não são novas em Kotlin; Eles já são encontrados em outras linguagens de programação, como Python, Java e JavaScript. As funções Lambda em Kotlin são semelhantes em conceitos às funções anônimas. No artigo, entenderemos o conceito fundamental de função lambda na língua Kotlin. Em poucas palavras, uma expressão de lambda deve definir com eficiência uma função e fornecê -los como um argumento que os devolve. Podemos nos referir à função Lambda como uma função simples na língua Kotlin.

Sintaxe da função ou expressão lambda em Kotlin:

A sintaxe geral da função ou expressão lambda que usamos em Kotlin é dada abaixo:

# val variable_name: data_type = argument_declaration -> body_code

Temos que inicializar uma função ou expressão lambda em uma variável mencionada na sintaxe. Os aparelhos encaracolados cercam a expressão de Lambda, e as declarações de argumento também estão dentro dos aparelhos encaracolados. Declarações de argumento entram dentro do aparelho encaracolado. A inclusão de anotações opcionais e corpo de código vem após o sinal de seta “->.”O código corporal lambda não pode estar vazio. Se não houver argumento à esquerda, o sinal de seta “->” poderá ser removido. A declaração de retorno é considerada a última expressão de Lambda. O tipo de unidade será utilizado como uma função definida pelo usuário se nenhum valor for fornecido ou o tipo de retorno não for especificado.

Como utilizar a função Lambda em Kotlin:

Para entender o básico do uso da função ou expressão lambda na língua Kotlin, devemos dar uma olhada nos exemplos abaixo:

Exemplo # 1: Usando o Lambda Invoca uma função em Kotlin:

Podemos criar uma expressão de kotlin que não pegue nenhum parâmetros chamando a função Invoke (). As funções de expressão lambda são invocadas na implementação do código.

A função principal passou com o argumento da linha de comando como array [string]. Em seguida, criamos uma variável com a palavra -chave "val" dentro da função principal. A variável é definida com o nome “Bem -vindo.”A variável“ Welcome ”é posteriormente alocada à expressão de Lambda. Por fim, invocamos uma função chamando as boas -vindas.Invoke () no código.

A saída do método Lambda Invokes é mostrada na tela do console.

Exemplo # 2: Usando a inferência do tipo “in” na função Lambda em Kotlin:

A inferência de tipo em Kotlin desempenha um papel significativo, pois permite ao compilador determinar o tipo de expressão de lambda. Aqui, calculamos o produto dos dois números inteiros usando a expressão Lambda mostrada abaixo.

Temos uma função principal declarada usando a palavra -chave "diversão" no código acima. A função principal nos ajudará a executar a implementação de código da expressão Lambda. Em primeiro lugar, criamos uma variável como "Val" e definimos o Val como "MyProduct."A variável" MyProduct "está tomando a expressão de Lambda. Em seguida, convertemos o número inteiro para amarrar com a ajuda da função ToString (), que é uma função de Kotlin embutida. Depois de converter o número inteiro em cordas, temos uma nova declaração de variável como “MyResult."Na variável" MyResult ", passamos os valores em que operação do produto é feita. No final, a função Kotlin Println retornará a string do valor inteiro.

O produto de dois números é impresso na tela do terminal usando a função lambda da inferência de tipo.

Exemplo # 3: Usando a declaração de tipo na função Lambda em Kotlin:

O tipo de expressão lambda deve ser declarado explicitamente. Se o Lambda não retornar um valor, podemos usar uma unidade indicada com a palavra -chave "unidade" no código.

No código, temos uma declaração de número inteiro e string para uma variável "x1" e "x2". A variável "x1" tem uma expressão de lambda na qual a operação do produto é feita. A variável “x2” 'com a operação de concatenação de string passada como uma expressão de lambda. Isso significa que a expressão lambda retornará o valor do tipo correspondente declarado. Em seguida, temos uma palavra -chave "unidade" em uma variável "x3", o que sugere que o lambda não retorna nenhum valor. Na função principal, imprimimos os valores das variáveis.

Após a execução, temos a saída na imagem abaixo.

Exemplo # 4: Usando a função Lambda "In" como uma extensão de classe em Kotlin:

A expressão lambda também pode ser usada como uma extensão de classe. Podemos passar no parâmetro: "it" e "this" nas expressões lambda. A palavra -chave "this" é usada para a string, e a palavra -chave "it" é usada para o parâmetro int em lambda. Essas palavras -chave passarão na expressão de Lambda, e podemos concatenar os valores e atribuí -las à variável de resultado.

No código acima, temos uma expressão de lambda que atua como uma extensão de classe e atribui essa expressão a uma variável "Mystr1". A variável “mystr1” tem o tipo declarado como “string. (Int)-> string ”. A expressão lambda leva a palavra -chave "isto" para string e a palavra -chave "it" para o valor inteiro. O operador "+" é usado para concatenação. Adicionamos uma nova variável chamada "strresult" à função principal. A variável "strresult" é inicializada com os valores de string e inteiro. Através da função println (), imprimiremos a saída na tela do console.

A sequência resultante da execução acima do código é exibida abaixo.

Na maioria dos casos, essas funções lambda normalmente têm apenas um parâmetro. A palavra -chave "it" indica um único parâmetro transmitido para a expressão lambda. A palavra -chave "it" é o nome implícito de um único argumento. Abaixo, temos uma forma de código abreviada que fornece uma maneira curta de atribuir uma expressão a uma variável.

No código acima, na função principal, chamamos uma variável de "MyArray" junto com o método do filtro. A operação do filtro lê os dados e ajuda a transformar os dados de acordo com a condição fornecida. Então, passamos pela expressão de Lambda no MyArray.Função de filtro. A função Lambda usa a palavra -chave "it" com a condição fornecida. A condição dada é que a palavra -chave "it" deve ser maior que 5. O método println imprimirá os novos dados na tela do console abaixo.

Temos uma produção de valores inteiros positivos da condição dada, pois esses números inteiros são maiores que 5.

Conclusão:

O principal objetivo do artigo é demonstrar a você o conceito de função e expressão lambda na língua Kotlin. A função Lambda tem código conciso, que economizará tempo. Para entender melhor, temos diferentes casos de uso de funções lambda nos exemplos. Isso ajudará você a entender a lógica que implementamos para a função Lambda em Kotlin.