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.
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.