¿Cuáles son los tipos de funciones de alcance en Kotlin??
Las funciones de alcance hacen que nuestro código sea mucho más legible, conciso y directo, todos los cuales son atributos importantes del lenguaje de programación de Kotlin. Cuando no usamos la función de alcance, tenemos que escribir el nombre del objeto cada vez que queremos referirnos a un miembro de la clase. Pero podemos referirnos a los miembros sin proporcionar el nombre del objeto al utilizar la función de alcance. Tenemos cinco funciones de alcance en general, todas las cuales son muy similares con ligeras diferencias.
Cómo usar las funciones de alcance de Kotlin?
Para comprender los conceptos básicos del uso de las diferentes funciones de alcance en el idioma Kotlin, debe echar un vistazo a los siguientes ejemplos:
Ejemplo # 1: Uso de la función de alcance "Let" en Kotlin
La función let se usa con frecuencia para ejecutar un bloque de código con valores no nulos solamente. Tenemos que usar el operador de seguridad "?."En un objeto no nulo. Usemos la función Let en el siguiente código.
Tenemos la función principal. En el bloque de funciones principales, tenemos una variable como palabra clave "val" y definidos como "str1" . La variable "STR1" establecida con la propiedad INT tipo y el operador NULL de seguridad se usa para verificar si el valor es nulo o no. Como hemos inicializado la variable "str1" con el valor entero que no es nulo. Luego, tenemos que usar la función Let para "STR1". En el bloque de funciones LET, hemos pasado una palabra clave "it" como un parámetro en la función impresa que actúa como un objeto de contexto. Después de eso, tenemos otra variable definida como "str2" y tiene una propiedad de tipo de cadena. El operador de seguridad nulo se usa aquí también para verificar la anulabilidad. El "str2" se declara con el valor de la cadena. Ahora, usando la función de let Let que devolverá los valores "Str2", ya que no es nulo. Aquí, simplemente hemos pasado "str2" a la función println.
La salida de usar la función let se muestra en la pantalla a continuación.
Ejemplo # 2: Uso de la función de alcance "Aplicar" en Kotlin
La función de aplicación se usa para trabajar en los miembros del objeto receptor principalmente para inicializarlos. La función de aplicar a los bloques de código que devuelven un objeto en sí y la palabra clave "esto" es el objeto de contexto aquí.
En el código anterior, hemos creado una clase "empleado" en la que hemos definido las variables de LateInit. La variable de LateInit es una variable que se inicializa tarde. Tenemos tres variables de LateInit para la clase "Empleado" como "Empname", "EmpContact" y "EmpDept" y establecen la propiedad de tipo de cadena para estas variables definidas. Luego, tenemos que llamar a la función principal en la que hemos utilizado la función Aplicar. En la función Aplicar, tenemos la palabra clave "esta" utilizada con la variable "empname". La palabra clave "esto" sirve como referencia de objeto y contiene la cadena como su valor de inicialización. También hemos inicializado las variables "EmpContact" y "Empdept" con los valores particulares. La palabra clave "esta" funciona igual que la otra variable declarada en el código. A través de la función println, tendremos los valores impresos.
La salida de la función de aplicación se muestra en la pantalla terminal.
Ejemplo # 3: Uso de la función de alcance "con" en Kotlin
Al invocar funciones en objetos de contexto sin dar el resultado Lambda, se recomienda el uso de la función "con".
Tenemos una clase "persona" de clase en la que hemos definido las variables de LateInit. A las variables se les asigna un nombre de "nombre" y "edad" y establece la propiedad de tipo de cadena. Luego, tenemos la función principal en la que hemos creado un objeto llamado "P1". El objeto "P1" está invocando la función de aplicación. En la función Aplicar, hemos inicializado la variable "nombre" y "edad" con los valores. Después de esto, hemos invocado la función "con" y hemos pasado un objeto "P1" como parámetro. Tenga en cuenta que no usamos "$ nombre" y "$ edad" en la función println porque sería redundante porque el bloque de código reconoce que "nombre" y "edad" se usa en este contexto sobre el Objeto "P1".
En la pantalla del terminal a continuación, la salida se imprime.
Ejemplo # 4: Uso de la función de alcance "Ejecutar" en Kotlin
La función 'ejecutar' es idéntica a las funciones 'let' y 'con'. Cuando el objeto Lambda comprende tanto la inicialización del objeto como el procesamiento del valor de devolución, entonces la función "Ejecutar" es útil.
En el código anterior, tenemos una clase llamada "maestros" en la que hemos definido variables como "nombre", "teléfono" y "asignatura". Luego, en la función principal, tenemos un objeto como "maestro" que usa la función de aplicación. Tenga en cuenta que no hemos utilizado un nombre de objeto para referirnos a los miembros de la clase e inicializarlos con los valores. Después de eso, hemos invocado la función de ejecución que se conoce como una función de ejecución de no extensión porque no se le pasa ningún objeto receptor.
La salida de la función de ejecución de no extensión se muestra en la imagen a continuación.
Ejemplo # 5: Uso de la función de alcance "también" en Kotlin
La función "también" es comparable a la función "let", excepto que se refiere al contexto del objeto como "it" en lugar de "esto" y proporciona controles de seguridad nulas.
En el código anterior, tenemos una función principal en la que declaramos una variable como "val" con el nombre "mylist". La variable "MyList" contiene la lista de valores utilizando la función Mutablelistof. Hemos llamado la función "también" para la variable "mylist". En el bloque "también", hemos utilizado la palabra clave "it" con la función Agregar y le pasó un valor. Luego, tenemos que usar nuevamente la palabra clave "it" con la función eliminar y pasar un valor que queremos eliminar. A través de la función println, veremos los valores de lista actualizados.
La siguiente salida muestra que la lista se ha actualizado.
Conclusión
Hemos repasado las funciones de alcance con gran profundidad basadas en los resultados demostrados del ejemplo anterior. Todas estas ilustraciones son simples y se ejecutan en Ubuntu 20.04, y te ayudarán a aprender a usar las funciones de alcance.