Kotlin Lambda

Kotlin Lambda
Lambda -funksjoner eller uttrykk er ikke nye for Kotlin; De finnes allerede på andre programmeringsspråk som Python, Java og JavaScript. Lambda -funksjonene i Kotlin er like i konseptet som anonyme funksjoner. I artikkelen vil vi forstå det grunnleggende begrepet Lambda -funksjonen på Kotlin -språket. I et nøtteskall er et lambda -uttrykk ment å definere en funksjon effektivt og gi dem som et argument som returnerer dem. Vi kan referere til lambda -funksjonen som en enkel funksjon på Kotlin -språket.

Syntaks av lambda -funksjonen eller uttrykket i Kotlin:

Den generelle syntaks for lambda -funksjonen eller uttrykket vi brukte i Kotlin er gitt nedenfor:

# val variabel_name: data_type = argument_declaration -> body_code

Vi må initialisere en lambda -funksjon eller uttrykk i en variabel nevnt i syntaks. De krøllete seler omgir Lambda -uttrykket, og argument erklæringer er også inne i de krøllete seler. Argument erklæringer går inn i krøllete seler. Inkludering av valgfrie merknader og kodekropp kommer etter pilskiltet “->.”Lambda kroppskode kan ikke være tom. Hvis det ikke er noe argument til venstre, kan pilskiltet “->” fjernes. Returerklæringen regnes som Lambdas siste uttrykk. Enhetstypen vil bli brukt som en brukerdefinert funksjon hvis ingen verdi er gitt eller returtypen ikke er spesifisert.

Hvordan bruke Lambda -funksjonen i Kotlin:

For å forstå det grunnleggende om å bruke lambda -funksjonen eller uttrykket på Kotlin -språk, bør vi se på eksemplene gitt nedenfor:

Eksempel 1: Bruke Lambda påkaller en funksjon i Kotlin:

Vi kan lage et Kotlin -uttrykk som ikke tar noen parametere ved å ringe Invoke () -funksjonen. Lambda -ekspresjonsfunksjoner påkalles i kodeimplementeringen.

Hovedfunksjonen har gått med kommandolinjeargumentet som Array [String]. Deretter har vi laget en variabel med nøkkelordet "val" i hovedfunksjonen. Variabelen er definert med navnet “Velkommen.”Variabelen“ velkommen ”blir deretter tildelt Lambda -uttrykket. Endelig har vi påkalt en funksjon ved å kalle velkomst.påkalle () i koden.

Utgangen fra lambda påkaller metoden vises på konsollskjermen.

Eksempel nr. 2: Bruke "in" -type inferens i lambda -funksjon i Kotlin:

Typeinferansen i Kotlin spiller en betydelig rolle da den gjør det mulig for kompilatoren å bestemme typen Lambda -uttrykk. Her har vi beregnet produktet fra de to heltallene ved å bruke lambda -uttrykket vist nedenfor.

Vi har en hovedfunksjon som er erklært ved hjelp av nøkkelordet "moro" i koden ovenfor. Hovedfunksjonen vil hjelpe oss med å utføre Lambda -uttrykkens kodeimplementering. For det første har vi laget en variabel som "val" og definerte valen som "myprodukt.”Variabelen“ MyProduct ”tar Lambda -uttrykket. Deretter har vi konvertert heltallet til streng ved hjelp av ToString () -funksjonen, som er en innebygd Kotlin-funksjon. Etter å ha konvertert heltallet til streng, har vi en ny variabel erklæring som “Myresult.”I variabelen“ Myresult ”har vi passert verdiene som produktoperasjonen er utført. Til slutt vil Kotlin Println -funksjonen returnere strengen fra heltallverdien.

Produktet av to tall skrives ut på terminalskjermen ved å bruke lambda -funksjonen til type inferens.

Eksempel nr. 3: Bruke type erklæring i Lambda -funksjon i Kotlin:

Typen av vårt lambda -uttrykk må erklæres eksplisitt. Hvis Lambda ikke returnerer en verdi, kan vi bruke en enhet som er angitt med "Enhet" nøkkelord i koden.

I koden har vi en erklæring om heltall og streng til en variabel “x1” og “x2”. Variabelen “X1” har et lambda -uttrykk der produktoperasjonen er utført. Variabelen “X2” 'med strengkonfigurasjonsoperasjon passert som et lambda -uttrykk. Det betyr at lambda -uttrykket vil returnere verdien av den tilsvarende erklærte typen. Deretter har vi et "enhet" nøkkelord i en variabel "x3", som antyder at lambda returnerer ingen verdi. I hovedfunksjonen har vi skrevet ut verdiene til variablene.

Ved utførelse har vi utgangen på bildet nedenfor.

Eksempel 4: Bruke “In” Lambda -funksjon som en klasseforlengelse i Kotlin:

Lambda -uttrykket kan også brukes som en klasseforlengelse. Vi kan passere parameteren: “Det” og “dette” i Lambda -uttrykk. Nøkkelordet "dette" brukes til strengen, og nøkkelordet "IT" brukes til INT -parameteren i Lambda. Disse nøkkelordene vil passere i Lambda -uttrykket, og vi kan deretter sammenkoble verdiene og tilordne dem til resultatvariabelen.

I koden ovenfor har vi et lambda -uttrykk som fungerer som en klasseforlengelse og tildeler dette uttrykket til en variabel "Mystr1". Variabelen “Mystr1” har type erklært som “String. (Int)-> streng ”. Lambda -uttrykket tar "dette" nøkkelordet for streng og "it" nøkkelord for heltallverdien. "+" -Operatøren brukes til sammenkobling. Vi har lagt til en ny variabel kalt “Strresult” til hovedfunksjonen. Variabelen “Strresult” initialiseres med strengen og heltallverdiene. Gjennom println () -funksjonen vil vi skrive ut utgangen på konsollskjermen.

Den resulterende strengen fra ovennevnte utførelse av kode vises nedenfor.

I de fleste tilfeller har disse lambda -funksjonene vanligvis bare en parameter. Nøkkelordet “IT” indikerer at en enkelt parameter føres inn i Lambda -uttrykket. Nøkkelordet "IT" er det implisitte navnet på et enkelt argument. Nedenfor har vi en korthetsform for kode som gir en kort måte å tildele et uttrykk til en variabel.

I koden ovenfor, i hovedfunksjonen, har vi kalt en variabel "myarray" sammen med filtermetoden. Filteroperasjonen leser dataene og hjelper til med å transformere dataene i henhold til den gitte tilstanden. Deretter passerte vi Lambda -uttrykket i MyArray.filterfunksjon. Lambda -funksjonen bruker nøkkelordet “IT” med den gitte tilstanden. Tilstanden som er gitt er at "det" nøkkelordet skal være større enn 5. Println -metoden vil skrive ut de nye dataene på konsollskjermen nedenfor.

Vi har en utgang av positive heltallverdier fra den gitte tilstanden, da disse heltallene er større enn 5.

Konklusjon:

Hovedmålet med artikkelen er å demonstrere for deg konseptet Lambda -funksjon og uttrykk på Kotlin -språket. Lambda -funksjonen har kortfattet kode, noe som sparer deg for tid. For bedre å forstå, har vi forskjellige tilfeller av å bruke lambda -funksjoner i eksemplene. Det vil hjelpe deg å forstå logikken vi har implementert for Lambda -funksjonen i Kotlin.