Funções de escopo de Kotlin

Funções de escopo de Kotlin
Quando estamos usando uma expressão lambda para invocar métodos em um objeto, o escopo temporário é gerado. No artigo, discutiremos o conceito de funções de escopo. As funções do escopo são o nome para essas funções. Os objetos dessas funções são acessíveis sem conhecer seus nomes.

Quais são os tipos de funções de escopo em Kotlin?

As funções de escopo tornam nosso código muito mais legível, conciso e direto, todos atributos importantes da linguagem de programação Kotlin. Quando não usamos a função de escopo, precisamos digitar o nome do objeto toda vez que queremos nos referir a um membro da classe. Mas podemos nos referir aos membros sem fornecer o nome do objeto ao utilizar a função de escopo. Temos cinco funções de escopo em geral, todas muito semelhantes com pequenas diferenças.

  1. deixar
  2. correr
  3. aplicar
  4. com
  5. também

Como usar as funções do escopo Kotlin?

Para entender o básico do uso das diferentes funções de escopo no idioma Kotlin, você deve dar uma olhada nos seguintes exemplos:

Exemplo # 1: Usando a função de escopo "Let" em Kotlin

A função Let é frequentemente usada para executar um bloco de código com valores não nulos apenas. Temos que usar o operador de segurança “?.”Em um objeto não nulo. Vamos usar a função Let no código abaixo.

Temos a função principal. No bloco de função principal, temos uma variável como palavra -chave "val" e definida como "str1" . A variável "STR1" conjunto com a propriedade Int Type e o operador nulo de segurança é usado para verificar se o valor é nulo ou não. Como inicializamos a variável "str1" com o valor inteiro que não é nulo. Então, temos que usar a função Let para "str1". No bloco de função let, passamos uma palavra -chave "it" como um parâmetro na função println que é um objeto de contexto. Depois disso, temos outra variável definida como "STR2" e tem uma propriedade do tipo de string. O operador de segurança nula também é usado aqui para verificar a anulação. O "STR2" é declarado com o valor da string. Agora, usando a função Let, que retornará valores "str2", pois não é nulo. Aqui, simplesmente passamos "STR2" para a função Println.

A saída do uso da função Let é exibida na tela abaixo.

Exemplo # 2: Usando a função de escopo "Aplicar" em Kotlin

A função Aplicar é usada para trabalhar nos membros do objeto do receptor principalmente para inicializá -los. A função Aplicar para os blocos de código que retornam um objeto em si e a palavra -chave "isto" é o objeto de contexto aqui.

No código acima, criamos um "funcionário" da classe no qual definimos variáveis ​​de LateInit. A variável LateInit é uma variável que é inicializada tardia. Temos três variáveis ​​falsas para a classe "funcionário" como "empname", "empcontact" e "Empdept" e definir a propriedade do tipo string para essas variáveis ​​definidas. Então, temos que chamar a principal função na qual usamos a função Aplicar. Na função Aplicar, temos a palavra -chave "isto" usada com a variável "EmpName". A palavra -chave "isso" serve como referência de objeto e contém a string como seu valor de inicialização. Também inicializamos as variáveis ​​"Empcontact" e "Empdept" com os valores específicos. A palavra -chave "This" funciona da mesma forma que a outra variável declarada no código. Através da função Println, teremos os valores impressos.

A saída da função Aplicar é mostrada na tela do terminal.

Exemplo # 3: Usando a função de escopo "com" em Kotlin

Ao invocar funções em objetos de contexto sem dar o resultado do lambda, o uso da função "com" é recomendado.

Temos uma “pessoa” de aula na qual definimos as variáveis ​​de LateInit. As variáveis ​​recebem um nome "nome" e "idade" e define a propriedade do tipo de sequência. Então, temos a principal função em que criamos um objeto chamado "P1". O objeto "P1" está invocando a função Aplicar. Na função Aplicar, inicializamos a variável "nome" e "idade" com os valores. Depois disso, invocamos a função "com" e passamos um objeto "P1" como um parâmetro para ele. Observe que não usamos "$ nome" e "$ Age" na função Println porque seria redundante porque o bloco de código reconhece que "nome" e "idade" é usado neste contexto sobre o Objeto "P1".

Na tela do terminal abaixo, a saída é impressa.

Exemplo # 4: Usando a função de escopo "Run" em Kotlin

A função 'Run' é idêntica às funções 'let' e 'com'. Quando o objeto Lambda compreende a inicialização do objeto e retorna o processamento do valor, então a função "Run" é útil.

No código acima, temos uma classe chamada "professores" na qual definimos variáveis ​​como "nome", "telefone" e "assunto". Então, na função principal, temos um objeto como "professor" que usa a função Aplicar. Observe que não usamos um nome de objeto para nos referir aos membros da classe e inicializá -los com os valores. Depois disso, invocamos a função de execução que é conhecida como uma função de execução não de extensão porque nenhum objeto receptor é transmitido a ele.

A saída da função de execução não extensão é mostrada na imagem abaixo.

Exemplo # 5: Usando a função de escopo "também" em Kotlin

A função "também" é comparável à função "let", exceto que se refere ao contexto do objeto como "ele" em vez de "isso" e fornece verificações de segurança nula.

No código acima, temos uma função principal na qual declaramos uma variável como "val" com o nome "mylist". A variável "MyList" contém a lista de valores usando a função MutableListOf. Chamamos a função "também" para a variável "mylist". No bloco "também", usamos a palavra -chave "it" com a função Add e passamos um valor para ela. Em seguida, temos que usar novamente a palavra -chave "it" com a função de remoção e passar um valor que queremos remover. Através da função Println, veremos os valores da lista atualizada.

A saída abaixo mostra que a lista foi atualizada.

Conclusão

Passamos as funções do escopo em grande profundidade com base nos resultados demonstrados do exemplo anterior. Todas essas ilustrações são simples e são executadas no Ubuntu 20.04, e eles o ajudarão a aprender a usar as funções do escopo.