Fonctions de portée de Kotlin

Fonctions de portée de Kotlin
Lorsque nous utilisons une expression de lambda pour invoquer des méthodes sur un objet, la portée temporaire est générée. Dans l'article, nous discuterons du concept de fonctions de portée. Les fonctions de portée sont le nom de ces fonctions. Les objets de ces fonctions sont accessibles sans connaître leurs noms.

Quels sont les types de fonctions de portée à Kotlin?

Les fonctions de portée rendent notre code beaucoup plus lisible, concis et simple, qui sont tous des attributs importants du langage de programmation Kotlin. Lorsque nous n'utilisons pas la fonction de portée, nous devons taper le nom de l'objet chaque fois que nous voulons nous référer à un membre de classe. Mais nous pouvons nous référer aux membres sans fournir le nom de l'objet lors de l'utilisation de la fonction de portée. Nous avons cinq fonctions de portée en général, qui sont toutes très similaires avec de légères différences.

  1. laisser
  2. courir
  3. appliquer
  4. avec
  5. aussi

Comment utiliser les fonctions de portée de Kotlin?

Pour comprendre les bases de l'utilisation des différentes fonctions de portée dans la langue Kotlin, vous devriez jeter un œil aux exemples suivants:

Exemple n ° 1: Utilisation de la fonction de portée «LET» dans Kotlin

La fonction LET est fréquemment utilisée pour exécuter un bloc de code avec des valeurs non nuls uniquement. Nous devons utiliser l'opérateur de sécurité «?."Sur un objet non nulle. Utilisons la fonction LET dans le code ci-dessous.

Nous avons la fonction principale. Dans le bloc fonctionnel principal, nous avons un mot clé «Val» variable et défini comme «STR1» . La variable «STR1» définie avec l'opérateur Null de la propriété INT Type et de sécurité est utilisée pour vérifier si la valeur est nul ou non. Comme nous avons initialisé la variable «STR1» avec la valeur entière qui n'est pas nul. Ensuite, nous devons utiliser la fonction LET pour «STR1». Dans le bloc de location de location, nous avons passé un mot-clé «it» comme un paramètre dans la fonction println qui agit comme un objet de contexte. Après cela, nous avons une autre variable définie comme «STR2» et a une propriété de type de chaîne. L'opérateur de sécurité nul est également utilisé ici pour vérifier la nullabilité. Le «str2» est déclaré avec la valeur de la chaîne. Maintenant, en utilisant la fonction LET qui renverra les valeurs «str2» car elle n'est pas nul. Ici, nous avons simplement passé «str2» à la fonction println.

La sortie de l'utilisation de la fonction LET s'affiche sur l'écran ci-dessous.

Exemple # 2: Utilisation de la fonction de portée «Appliquer» dans Kotlin

La fonction d'application est utilisée pour travailler sur des membres d'objet récepteur principalement pour les initialiser. La fonction applique aux blocs de code qui renvoie un objet lui-même et le mot-clé «ceci» est l'objet contextuel ici.

Dans le code ci-dessus, nous avons créé un «employé» de classe dans lequel nous avons défini les variables de la fin. La variable LateInit est une variable qui est en retard initialisée. Nous avons trois variables tardives pour la classe «employé» comme «empname», «empcontact» et «empdept» et définissez la propriété de type de chaîne pour ces variables définies. Ensuite, nous devons appeler la fonction principale dans laquelle nous avons utilisé la fonction d'application. Dans la fonction d'application, nous avons le mot-clé «ce» utilisé avec la variable «empname». Le mot-clé «ceci» sert de référence d'objet et contient la chaîne comme valeur d'initialisation. Nous avons également initialisé les variables «EmpContact» et «Empdept» avec les valeurs particulières. Le mot-clé «ce» fonctionne de la même manière que l'autre variable déclarée dans le code. Grâce à la fonction println, nous aurons les valeurs imprimées.

La sortie de la fonction d'application est affichée sur l'écran du terminal.

Exemple # 3: Utilisation de la fonction «avec» de la portée à Kotlin

Lors de l'invoquer des fonctions sur des objets de contexte sans donner le résultat lambda, l'utilisation de la fonction «avec» est recommandée.

Nous avons une «personne» de classe dans laquelle nous avons défini les variables tardives. Les variables se voient attribuer un nom «nom» et «âge» et définir la propriété de type de chaîne. Ensuite, nous avons la fonction principale dans laquelle nous avons créé un objet nommé «P1». L'objet «P1» invoque la fonction d'application. Dans la fonction d'application, nous avons initialisé la variable «nom» et «âge» avec les valeurs. Après cela, nous avons invoqué la fonction «avec» et passé un objet «p1» comme paramètre. Notez que nous n'avons pas utilisé "$ name" et "$ age" dans la fonction println car il serait redondant parce que le bloc de code reconnaît que "le nom" et "l'âge" sont utilisés dans ce contexte sur le Objet «P1».

Sur l'écran du terminal ci-dessous, la sortie est imprimée.

Exemple n ° 4: Utilisation de la fonction de portée «Run» dans Kotlin

La fonction «Run» est identique aux fonctions «let» et «avec». Lorsque l'objet Lambda comprend à la fois l'initialisation des objets et renvoie le traitement de la valeur, alors la fonction «Exécuter» est utile.

Dans le code ci-dessus, nous avons une classe appelée «enseignants» dans laquelle nous avons défini les variables comme «nom», «téléphone» et «sujet». Ensuite, dans la fonction principale, nous avons un objet en tant que «professeur» qui utilise la fonction d'application. Notez que nous n'avons pas utilisé de nom d'objet pour faire référence aux membres de la classe et les initialiser avec les valeurs. Après cela, nous avons invoqué la fonction d'exécution qui est connue comme une fonction d'exécution non d'extension car aucun objet récepteur ne lui est transmis.

La sortie de la fonction d'exécution non d'extension est affichée dans l'image ci-dessous.

Exemple n ° 5: Utilisation de la fonction «aussi» dans Kotlin

La fonction «également» est comparable à la fonction «LET», sauf qu'elle fait référence au contexte de l'objet comme «il» plutôt que «ceci» et fournit des contrôles de sécurité nuls.

Dans le code ci-dessus, nous avons une fonction principale dans laquelle nous déclarons une variable comme «Val» avec le nom «MyList». La variable «MyList» contient la liste des valeurs en utilisant la fonction MutableList de mutable. Nous avons appelé la fonction «aussi» pour la variable «MyList». Dans le bloc «aussi», nous avons utilisé le mot-clé «it» avec la fonction ADD et y a transmis une valeur. Ensuite, nous devons à nouveau utiliser le mot-clé «it» avec la fonction de suppression et passer une valeur que nous voulons supprimer. Grâce à la fonction println, nous verrons les valeurs de liste mise à jour.

La sortie ci-dessous montre que la liste a été mise à jour.

Conclusion

Nous avons parcouru les fonctions de portée en profondeur en fonction des résultats démontrés de l'exemple précédent. Toutes ces illustrations sont simples et exécutées sur Ubuntu 20.04, et ils vous aideront à apprendre à utiliser les fonctions de portée.