Sintaxis de la función o expresión lambda en kotlin:
La sintaxis general de la función o expresión lambda que usamos en Kotlin se da a continuación:
# val variable_name: data_type = argument_declaration -> body_codeTenemos que inicializar una función o expresión lambda en una variable mencionada en la sintaxis. Los aparatos ortopédicos rizados rodean la expresión de lambda, y las declaraciones de argumentos también están dentro de los aparatos ortopédicos. Las declaraciones de argumentos entran dentro de los aparatos ortopédicos. La inclusión de anotaciones opcionales y el cuerpo del código viene después del signo de la flecha "->."El código corporal Lambda no puede estar vacío. Si no hay ningún argumento a la izquierda, se puede eliminar la señal de flecha "->". La declaración de retorno se considera la última expresión de Lambda. El tipo de unidad se utilizará como una función definida por el usuario si no se proporciona ningún valor o no se especifica el tipo de retorno.
Cómo utilizar la función Lambda en Kotlin:
Para comprender los conceptos básicos del uso de la función o expresión Lambda en el lenguaje Kotlin, debemos echar un vistazo a los ejemplos que se detallan a continuación:
Ejemplo # 1: Uso de Lambda Invocar una función en Kotlin:
Podemos crear una expresión de Kotlin que no tome ningún parámetro llamando a la función Invoke (). Las funciones de expresión de Lambda se invocan en la implementación del código.
La función principal ha pasado con el argumento de la línea de comandos como matriz [cadena]. Luego, hemos creado una variable con la palabra clave "val" dentro de la función principal. La variable se define con el nombre "Bienvenido."La variable" bienvenida "se asigna posteriormente a la expresión de lambda. Por fin, hemos invocado una función llamando a la bienvenida.invocar () en el código.
La salida del método de invocación lambda se muestra en la pantalla de la consola.
Ejemplo # 2: Uso de la inferencia de tipo "in" en la función lambda en kotlin:
La inferencia de tipo en Kotlin juega un papel importante, ya que permite al compilador determinar el tipo de expresión de lambda. Aquí, hemos calculado el producto de los dos enteros utilizando la expresión de lambda que se muestra a continuación.
Tenemos una función principal declarada utilizando la palabra clave "diversión" en el código anterior. La función principal nos ayudará a ejecutar la implementación del código de la expresión de Lambda. En primer lugar, hemos creado una variable como "val" y definimos el val como "myproduct."La variable" myProduct "está tomando la expresión de lambda. Luego, hemos convertido el entero en cadena con la ayuda de la función toString (), que es una función Kotlin incorporada. Después de convertir el entero en cadena, tenemos una nueva declaración variable como "MyResult."En la variable" MyResult ", hemos pasado los valores en los que se realiza la operación del producto. Al final, la función Kotlin Println devolverá la cadena del valor entero.
El producto de dos números se imprime en la pantalla terminal utilizando la función lambda de la inferencia de tipo.
Ejemplo # 3: Uso de la declaración de tipo en la función Lambda en Kotlin:
El tipo de nuestra expresión lambda debe declararse explícitamente. Si Lambda no devuelve un valor, podemos usar una unidad indicada con la palabra clave "Unidad" en el código.
En el código, tenemos una declaración de entero y cadena a una variable "x1" y "x2". La variable "x1" tiene una expresión de lambda en la que se realiza la operación del producto. La variable "x2" 'que tiene una operación de concatenación de cadena pasada como expresión de lambda. Eso significa que la expresión de lambda devolverá el valor del tipo correspondiente declarado. Luego, tenemos una palabra clave de "unidad" en una variable "x3", que sugiere que Lambda no devuelve ningún valor. En la función principal, hemos impreso los valores de las variables.
Tras la ejecución, tenemos la salida en la imagen a continuación.
Ejemplo # 4: Uso de la función Lambda "in" como una extensión de clase en Kotlin:
La expresión de lambda también se puede usar como extensión de clase. Podemos pasar el parámetro: "it" y "esto" en expresiones lambda. La palabra clave "esto" se usa para la cadena, y la palabra clave "it" se usa para el parámetro int en lambda. Estas palabras clave pasarán en la expresión de lambda, y luego podemos concatenar los valores y asignarlas a la variable de resultado.
En el código anterior, tenemos una expresión de lambda que actúa como una extensión de clase y asigna esta expresión a una variable "mystr1". La variable "mystr1" ha sido declarada como "cadena. (Int)-> cadena ". La expresión lambda toma la palabra clave "this" para la cadena y la palabra clave "it" para el valor entero. El operador "+" se utiliza para la concatenación. Hemos agregado una nueva variable llamada "strresult" a la función principal. La variable "strresult" se inicializa con los valores de la cadena y el entero. A través de la función println (), imprimiremos la salida en la pantalla de la consola.
La cadena resultante de la ejecución de código anterior se muestra a continuación.
En la mayoría de los casos, estas funciones lambda generalmente tienen solo un parámetro. La palabra clave "it" indica un solo parámetro pasado a la expresión de lambda. La palabra clave "it" es el nombre implícito de un solo argumento. A continuación, tenemos una forma abreviada de código que proporciona una forma breve de asignar una expresión a una variable.
En el código anterior, en la función principal, hemos llamado una variable "myArray" junto con el método de filtro. La operación del filtro lee los datos y ayuda a transformar los datos de acuerdo con la condición dada. Entonces, pasamos la expresión de Lambda en el MyArray.función de filtro. La función lambda usa la palabra clave "it" con la condición dada. La condición dada es que la palabra clave "it" debe ser mayor que 5. El método println imprimirá los nuevos datos en la pantalla de la consola a continuación.
Tenemos una salida de valores enteros positivos de la condición dada, ya que estos enteros son mayores que 5.
Conclusión:
El objetivo principal del artículo es demostrarle el concepto de función y expresión de lambda en el idioma kotlin. La función Lambda tiene código conciso, que le ahorrará tiempo. Para comprender mejor, tenemos diferentes casos de uso de funciones lambda en los ejemplos. Le ayudará a comprender la lógica que hemos implementado para la función Lambda en Kotlin.