Kotlin Lambda

Kotlin Lambda
Le funzioni o le espressioni Lambda non sono nuove per Kotlin; Si trovano già in altri linguaggi di programmazione come Python, Java e JavaScript. Le funzioni Lambda in Kotlin sono simili nel concetto alle funzioni anonime. Nell'articolo comprenderemo il concetto fondamentale della funzione Lambda in lingua Kotlin. In breve, un'espressione di Lambda ha lo scopo di definire in modo efficiente una funzione e fornirli come un argomento che li restituisce. Possiamo fare riferimento alla funzione Lambda come una semplice funzione in lingua Kotlin.

Sintassi della funzione o espressione Lambda in Kotlin:

La sintassi generale della funzione o dell'espressione Lambda che abbiamo usato in Kotlin è riportata di seguito:

# VAL Variable_Name: data_type = argomenta_declaration -> body_code

Dobbiamo inizializzare una funzione o un'espressione Lambda in una variabile menzionata nella sintassi. Le parentesi graffe ricci circondano l'espressione di lambda e le dichiarazioni degli argomenti sono anche all'interno delle parentesi cure. Le dichiarazioni degli argomenti vanno all'interno delle parentesi cure. L'inclusione di annotazioni opzionali e corpo di codice arriva dopo il segno della freccia “->."Il codice del corpo Lambda non può essere vuoto. Se non vi è alcun argomento a sinistra, il segno della freccia "->" può essere rimosso. La dichiarazione di ritorno è considerata l'ultima espressione di Lambda. Il tipo di unità verrà utilizzato come funzione definita dall'utente se non viene fornito alcun valore o il tipo di restituzione non viene specificato.

Come utilizzare la funzione Lambda in Kotlin:

Per comprendere le basi dell'utilizzo della funzione o dell'espressione Lambda nel linguaggio di Kotlin, dovremmo dare un'occhiata agli esempi indicati di seguito:

Esempio n. 1: usare lambda invoca una funzione in kotlin:

Possiamo creare un'espressione di Kotlin che non assume alcun parametro chiamando invoke (). Le funzioni di espressione di lambda sono invocate nell'implementazione del codice.

La funzione principale è passata con l'argomento della riga di comando come array [stringa]. Quindi, abbiamo creato una variabile con la parola chiave "val" all'interno della funzione principale. La variabile è definita con il nome "benvenuto."La variabile" benvenuta "è successivamente assegnata all'espressione di lambda. Finalmente, abbiamo invocato una funzione chiamando il benvenuto.invoca () nel codice.

L'uscita del metodo invoca Lambda è mostrata nella schermata della console.

Esempio n. 2: usando l'inferenza del tipo "in" nella funzione Lambda in Kotlin:

L'inferenza del tipo in Kotlin svolge un ruolo significativo in quanto consente al compilatore di determinare il tipo di espressione di lambda. Qui, abbiamo calcolato il prodotto dei due numeri interi usando l'espressione Lambda mostrata di seguito.

Abbiamo una funzione principale dichiarata utilizzando la parola chiave "divertente" nel codice sopra. La funzione principale ci aiuterà a eseguire l'implementazione del codice dell'espressione di lambda. In primo luogo, abbiamo creato una variabile come "val" e definito la val come "myproduct."La variabile" myProduct "sta prendendo l'espressione di lambda. Quindi, abbiamo convertito l'intero intero in String con l'aiuto della funzione ToString (), che è una funzione Kotlin integrata. Dopo aver convertito l'intero in String, abbiamo una nuova Dichiarazione variabile come "MyResult."Nella variabile" MyResult ", abbiamo superato i valori su cui viene eseguita il funzionamento del prodotto. Alla fine, la funzione Kotlin Println restituirà la stringa dal valore intero.

Il prodotto di due numeri viene stampato sullo schermo del terminale utilizzando la funzione Lambda dell'inferenza del tipo.

Esempio n. 3: utilizzando la dichiarazione di tipo nella funzione Lambda in Kotlin:

Il tipo della nostra espressione di lambda deve essere dichiarato esplicito. Se Lambda non restituisce un valore, possiamo utilizzare un'unità indicata con la parola chiave "unità" nel codice.

Nel codice, abbiamo una dichiarazione di intero e stringa in una variabile "x1" e "x2". La variabile "x1" ha un'espressione di lambda in cui viene eseguita il funzionamento del prodotto. La variabile "x2" 'con operazione di concatenazione stringa è passata come espressione di lambda. Ciò significa che l'espressione di lambda restituirà il valore del tipo corrispondente dichiarato. Quindi, abbiamo una parola chiave "unità" in una variabile "x3", il che suggerisce che Lambda non restituisce alcun valore. Nella funzione principale, abbiamo stampato i valori delle variabili.

All'esecuzione, abbiamo l'output nell'immagine qui sotto.

Esempio n. 4: usando la funzione Lambda "in" come estensione di classe in Kotlin:

L'espressione di lambda può anche essere usata come estensione di classe. Possiamo passare il parametro: "It" e "questo" nelle espressioni Lambda. La parola chiave "questo" viene utilizzata per la stringa e la parola chiave "it" viene utilizzata per il parametro INT in lambda. Queste parole chiave passano nell'espressione di lambda e possiamo quindi concatenare i valori e assegnarli alla variabile del risultato.

Nel codice sopra, abbiamo un'espressione Lambda che funge da estensione di classe e assegna questa espressione a una variabile "Mystr1". La variabile "mystr1" ha un tipo dichiarato come "stringa. (Int)-> stringa ". L'espressione di lambda prende la parola chiave "questa" per la stringa e la parola chiave "it" per il valore intero. L'operatore "+" viene utilizzato per la concatenazione. Abbiamo aggiunto una nuova variabile chiamata "StrResult" alla funzione principale. La variabile "stresult" è inizializzata con i valori di stringa e intero. Attraverso la funzione println (), stamperemo l'uscita sulla schermata della console.

Di seguito viene visualizzata la stringa risultante dall'esecuzione sopra del codice.

Nella maggior parte dei casi, queste funzioni Lambda hanno in genere un solo parametro. La parola chiave "it" indica un singolo parametro passato nell'espressione di lambda. La parola chiave "it" è il nome implicito di un singolo argomento. Di seguito, abbiamo una forma di codice abbreviata che fornisce un breve modo per assegnare un'espressione a una variabile.

Nel codice sopra, nella funzione principale, abbiamo definito una variabile "myarray" insieme al metodo del filtro. L'operazione di filtro legge i dati e aiuta a trasformare i dati in base alla condizione data. Quindi, abbiamo superato l'espressione di lambda nel myarray.Funzione di filtro. La funzione Lambda utilizza la parola chiave "it" con la condizione data. La condizione data è che la parola chiave "esso" dovrebbe essere maggiore di 5. Il metodo println stamperà i nuovi dati nella schermata della console in basso.

Abbiamo un output di valori interi positivi dalla condizione data poiché questi numeri interi sono superiori a 5.

Conclusione:

L'obiettivo principale dell'articolo è dimostrarti il ​​concetto di funzione e espressione di lambda nel linguaggio di Kotlin. La funzione Lambda ha un codice conciso, che ti farà risparmiare tempo. Per capire meglio, abbiamo diversi casi di utilizzo delle funzioni Lambda negli esempi. Ti aiuterà a capire la logica che abbiamo implementato per la funzione Lambda in Kotlin.