Hva er typer omfangsfunksjoner i Kotlin?
Omfangsfunksjoner gjør koden vår mye mer leselige, konsise og enkle, som alle er viktige attributter til Kotlin -programmeringsspråket. Når vi ikke bruker omfangsfunksjonen, må vi skrive navnet på objektet hver gang vi vil henvise til et klassemedlem. Men vi kan henvise til medlemmer uten å oppgi objektnavnet når vi bruker omfangsfunksjonen. Vi har fem omfangsfunksjoner generelt, som alle er veldig like med små forskjeller.
Hvordan bruke Kotlin Scope -funksjonene?
For å forstå det grunnleggende om å bruke de forskjellige omfangsfunksjonene på Kotlin -språket, bør du ta en titt på følgende eksempler:
Eksempel nr. 1: Bruke "la" omfangsfunksjonen i Kotlin
Let-funksjonen brukes ofte til å utføre en kodeblokk med bare ikke-nullverdier. Vi må bruke sikkerhetsoperatøren “?.”På et ikke-nullobjekt. La oss bruke letfunksjonen i koden nedenfor.
Vi har hovedfunksjonen. I hovedfunksjonsblokken har vi en variabel som "val" nøkkelord og definert som "STR1" . Den variable “STR1” satt med Int Type Property og Safety Null Operator brukes til å sjekke om verdien er null eller ikke. Som vi har initialisert variabelen “Str1” med heltallverdien som ikke er null. Deretter må vi bruke LET -funksjonen for “Str1”. I Let Function -blokken har vi bestått et nøkkelord “IT” som en parameter i Println -funksjon som er å fungere som et kontekstobjekt. Etter det har vi en annen variabel definert som "str2" og har en egenskap av strengtype. Nullsikkerhetsoperatøren brukes her også for å sjekke ugyldigheten. “Str2” er erklært med strengverdien. Nå, ved å bruke let -funksjonen som vil returnere “str2” -verdier, da den ikke er null. Her har vi ganske enkelt gitt “str2” til println -funksjonen.
Utgangen til å bruke letfunksjonen vises på skjermen nedenfor.
Eksempel nr. 2: Bruke "Bruk" omfangsfunksjonen i Kotlin
Apply -funksjonen brukes til å jobbe med mottakerobjektmedlemmer først og fremst for å initialisere dem. Apply -funksjonen på kodeblokker som returnerer et objekt selv og søkeordet “dette” er kontekstobjektet her.
I koden ovenfor har vi opprettet en "ansatt" der vi har definert LateInit -variabler. Lateinit -variabelen er en variabel som er sent initialisert. Vi har tre LateInit -variabler for klassen "ansatt" som "EmpName", "EmpContact" og "Empdept" og setter egenskapen til strengtype for disse definerte variablene. Deretter må vi kalle hovedfunksjonen vi har brukt Apply -funksjonen. I Apply -funksjonen har vi "dette" nøkkelordet som brukes med variabelen "EmpName". Nøkkelordet “dette” fungerer som en objektreferanse og inneholder strengen som initialiseringsverdi. Vi har også initialisert variablene “EmpContact” og “Empdept” med de spesielle verdiene. "Dette" nøkkelordet fungerer det samme som den andre variabelen som er erklært i koden. Gjennom println -funksjonen vil vi ha de trykte verdiene.
Utgangen fra Apply -funksjonen vises på terminalskjermen.
Eksempel nr. 3: Bruke "med" omfangsfunksjon i Kotlin
Når du påkaller funksjoner på kontekstobjekter uten å gi lambda -resultatet, anbefales bruk av "med" funksjon.
Vi har en "person" der vi har definert lateinitvariablene. Variablene tildeles et navn "Navn" og "Alder" og angir egenskapen String Type. Deretter har vi hovedfunksjonen der vi har laget et objekt som heter “P1”. Objektet “P1” påkaller Apply -funksjonen. I Apply -funksjonen har vi initialisert variabelen “Navn” og “Alder” med verdiene. Etter dette har vi påkalt "med" -funksjonen og passert et objekt "P1" som en parameter til den. Merk at vi ikke brukte “$ name” og “$ Age” i Println -funksjonen fordi den ville være overflødig fordi kodenes blokkering gjenkjenner at "navn" og "alder" brukes i denne sammenhengen om “P1” -objekt.
På terminalskjermen nedenfor skrives utgangen.
Eksempel 4: Bruke "Kjør" omfangsfunksjon i Kotlin
'Run' -funksjonen er identisk med 'Let' og 'med' funksjoner. Når objektet lambda omfatter både objektinitialisering og returnerer verdibehandling, er "løp" -funksjonen nyttig.
I koden ovenfor har vi en klasse som heter "lærere" der vi har definert variabler som "navn", "telefon" og "emne". Så i hovedfunksjonen har vi et objekt som "lærer" som bruker Apply -funksjonen. Merk at vi ikke har brukt et objektnavn for å referere til klassemedlemmene og initialisere dem med verdiene. Etter det har vi påkalt løpsfunksjonen som er kjent som en ikke-forlengelsesfunksjon fordi ingen mottakerobjekt blir gitt til den.
Utgangen fra funksjonen som ikke er forlenget, vises i bildet nedenfor.
Eksempel 5: Bruke “også” omfangsfunksjon i Kotlin
"Også" -funksjonen er sammenlignbar med "la" -funksjonen bortsett fra at den refererer til objektets kontekst som "det" i stedet for "dette" og gir null sikkerhetskontroller.
I koden ovenfor har vi en hovedfunksjon der vi erklærer en variabel som "val" med navnet "myList". Variabelen “MyList” inneholder listen over verdier ved å bruke mutablelistof -funksjonen. Vi har kalt "også" -funksjonen for "myList" -variabelen. I "også" -blokken har vi brukt nøkkelordet "IT" med ADD -funksjonen og passert en verdi til den. Deretter må vi igjen bruke nøkkelordet "IT" med fjerningsfunksjonen og passere en verdi som vi ønsker å fjerne. Gjennom Println -funksjonen vil vi se de oppdaterte listeverdiene.
Utgangen nedenfor viser at listen er oppdatert.
Konklusjon
Vi har gått over omfangsfunksjonene i stor dybde basert på det tidligere eksemplets demonstrerte utfall. Alle disse illustrasjonene er enkle og kjøres på Ubuntu 20.04, og de vil hjelpe deg med å lære å bruke omfangsfunksjonene.