Kotlin-programmeringsvejledning

Hvad er Kotlin?

Kotlin er et open source statisk skrevet programmeringssprog, der kรธrer pรฅ Java Virtuel maskine (JVM). Den kombinerer objektorienteret programmering (OOP'er) og funktionel programmering i ubegrรฆnsede, selvforsynende og karakteristiske platforme. Det tillader ogsรฅ twinning af funktionaliteter ved hjรฆlp af miniaturekoder. Kotlin er et alment programmeringssprog, som er designet af JetBrains.

Kotlins historie

Her er vigtige vartegn fra Kotlins historie:

ร…r Begivenhed
2016 Kotlin v1.0 blev lanceret
2017 Annoncering af Google om fรธrsteklasses support af kotlin i Android
2018 Kotlin v1.2 kommer med tilfรธjelse til distribution af koder mellem JVM og JavaScript
2019 Google annoncerede Kotlin som sit foretrukne programmeringssprog for Android Applikationsudviklere
2021 Den 20. september 2021 blev Kotlin v1.5.31 lanceret.

ร…rsager til at bruge Kotlin

Her er nogle vigtige grunde til, at Kotlin bruges meget:

  • Kotlin er et statisk skrevet sprog, som er meget nemt at lรฆse og skrive.
  • Kotlin-programmer krรฆver ikke semikolon i deres program. Dette gรธr koden nem og mere lรฆsbar.
  • Denne languare tillader udveksling og brug af information fra Java pรฅ forskellige mรฅder. Desuden Java og Kotlin-kode kan eksistere side om side i det samme projekt.
  • Kotlins typesystem har til formรฅl at eliminere NullPointerException fra koden.
  • Det vil tage dig mindre tid at skrive ny kode i Kotlin. Det er endnu nemmere at implementere kotlin-kode og vedligeholde den i skala.

Funktioner af Kotlin

Her er et par funktioner i Kotlin, der vil gรธre dig sikker pรฅ programmeringssprogets fremskridtssti.

Trimmet kodning:

Kotlin er et OOPs-baseret programmeringssprog, hvor kodelinjen kan trimmes op til 40 %, hvad der gรธr Kotlin til et ideelt valg til software- eller webudvikling.

Open Source:

Kotlin for Android anvender JVM og kombinerer funktionerne i OOP'er og funktionel-orienteret programmering.

Hurtig kompilering:

det er nemt at kompilere koden, nรฅr man arbejder med Kotlin, hvilket resulterer i bedre ydeevne til Android-udvikling, og det vil ogsรฅ forklare, hvilken type datafunktion der kan bruges i hele koden.

Udvidelsesfunktioner:

Kotlin kan understรธtte en rรฆkke udvidelsesfunktioner uden at foretage รฆndringer i koden. det hjรฆlper med at gรธre eksisterende kode mere tiltalende og storslรฅet for udviklere.

For eksempel:

Fun String.removeFirstLastChar():
String = this.substring(1, this.length -1)

Denne kode hjรฆlper med at trimme det fรธrste og det sidste tegn i strengen, vi kan anvende det som:

Val string1 = "Today is cloudy."
Val string2 = string1.removeFirstLastChar()

Nul sikkerhed:

I Kotlin skelner systemet mellem nul-referencer og ikke-null-referencer som vist i nedenstรฅende Kotlin-eksempel.

For eksempel kan en strengvariabel ikke indeholde null:

Var string1: String = "Today is Sunday"
String1 = null  // compilation error
To permit null, we can adjoin the nullable variable :
Var string2: String? = "Today is Sunday"
String2 = null
print(string2)

Interoperabel:

Kotlin kode kan bruges af Javaog Java koder kan bruges med Kotlin. Sรฅ hvis du har viden om OOP'er programmering er det nemt at skifte til Kotlins udvikling. Ogsรฅ hvis der er nogle ansรธgninger skrevet ind Java, sรฅ kan de bruges sammen med Kotlins miljรธ.

Robuste vรฆrktรธjer:

lignende Java, Kotlin-kode kan ogsรฅ skrives ved hjรฆlp af IDE eller ved hjรฆlp af kommandolinjegrรฆnsefladen. Det er nemt at arbejde med IDE, og syntaksfejl reduceres ogsรฅ dramatisk. Pรฅ samme tid, nรฅr du arbejder med en kommandolinjegrรฆnseflade, skal kode fรธrst kompileres.

Smart Cast:

Smart casting hjรฆlper dybest set med at reducere applikationsomkostningerne og forbedrer dens hastighed eller ydeevne. Det virker pรฅ at styre effektiviteten af โ€‹โ€‹kode ved hjรฆlp af typecasting eller uforanderlige vรฆrdier.

For eksempel, hvis strengen er identificeret, sรฅ er dens lรฆngde og antal og kan findes ved hjรฆlp af Smart Cast-funktionen:

Val string1: Any = "Today is Monday"
when(string1)
{
is String  -> string1.length
Is Int -> string1.inc()
}

Lave omkostninger ved adoption:

Kotlin foretrรฆkkes af virksomheder pรฅ grund af dets tabte omkostninger ved adoption. Vigtigst af alt er det nemt at lรฆre af udviklere, isรฆr med en programmeringsbaggrund.

Kotlin miljรธopsรฆtning

Fรธlgende er de trin, der hjรฆlper dig med at opsรฆtte et arbejdsmiljรธ ved at installere Kotlin.

Trin 1) Installer Java

Som vi har diskuteret tidligere, at Kotlin er baseret pรฅ Java, sรฅ du skal installere Java fรธrst, nรฅr man planlรฆgger at adoptere Kotlin. Henvis vores Java Installationsvejledning.

Trin 2) Installer Java IDE'er

Heldigvis er der flere Java IDE'er at vรฆlge imellem. Her har vi givet downloadlinks for at gรธre tingene lidt nemmere for dig.

I denne Kotlin-tutorial vil vi bruge Eclipse.

Trin 3) Installer Kotlin

Til installation af Kotlin i Eclipse, gรฅ til Hjรฆlp-sektionen i Eclipse og klik pรฅ Eclipse Mulighed for markedsplads.

Kotlin miljรธopsรฆtning

Indtast nu Kotlin-sรธgeordet i sรธgefeltet. Klik pรฅ Gรฅ for at fรฅ vist plugin'et. Det vil give dig et link til Kotlin plug-in, du skal installere plug-in fra det givne link.

Kotlin miljรธopsรฆtning

Genstart venligst Eclipse IDE, nรฅr installationen er fuldfรธrt. Du kan finde et genvejsikon i รธverste hรธjre hjรธrne af Eclipse IDE. Det er en hurtig adgangsmetode.

Kotlin miljรธopsรฆtning

En anden mรฅde at fรฅ adgang til Kotlin pรฅ Eclipse IDE er, gรฅ til Windows, Perspektiver, ร…bn perspektiver, og vรฆlg derefter indstillingen Andre. Her kan du tjekke en liste over plugins installeret senere, som angivet nedenfor.

Kotlin miljรธopsรฆtning

Nรฅr du har verificeret Kotlin-installationen, lad os oprette det fรธrste Kotlin-program i nรฆste trin.

Trin 4) Fรธrste Kotlin-program

Start med dit fรธrste Kotlin-projekt. Fra menuen Filer, vรฆlg indstillingen Ny, vรฆlg derefter andre og start med et nyt Kotlin-projekt fra listen.

Kotlin miljรธopsรฆtning

Nu skal du definere et navn til projektet, og du er klar til at arbejde med Kotlin.

Kotlin miljรธopsรฆtning

Med disse enkle trin er det nemt at downloade Eclipse og Kotlin pรฅ dit system og skriv dit fรธrste Kotlin-program med det samme.

Architecture af Kotlin

En velbygget arkitektur er vigtig for en applikation for at opskalere dens funktioner og opfylde forventningerne fra slutbrugerbasen. Kotlin har sin egen sรฆregne og karakteristiske arkitektur til at allokere hukommelsen og for at fรฅ kvalitetsresultater for udviklerne og slutbrugerne.

Kotlins coroutines og klasser bygger kernen pรฅ en sรฅdan mรฅde, at de producerer mindre kedelkode, forstรฆrker ydeevnen og forstรฆrker effektiviteten. Der er en rรฆkke scenarier, hvor kotlin-kompileren kan reagere forskelligt, isรฆr nรฅr den รธremรฆrker forskellige slags sprog.

Architecture af Kotlin
Architecture af Kotlin

I arkitekturdiagrammet er det tydeligt, at kodeeksekvering udfรธres i tre nemme trin.

  1. I det fรธrste trin tilfรธjes ".kt"- eller kotlin-fil til compileren.
  2. I det andet trin konverterer Kotlin-kompileren koden til bytekode.
  3. I det tredje trin sรฆttes bytekode i Java Virtual Machine og udfรธrt af JVM.

Nรฅr et par byte-kodede filer opererer pรฅ JVM, tรฆnder de den indbyrdes kommunikation indbyrdes, hvorfor funktionen i Kotlin kaldes interoperabilitet for java ook fรธdsel

Kotlins indtrรฆden til JavaScript sker, nรฅr Kotlin sigter JavaManuskript.

Nรฅr JavaScriptets mรฅl er valgt, enhver kode af Kotlin, der er en del af biblioteket, der sejler med Kotlin, bliver spildt med JavaManuskript. Imidlertid Java Development Kit(JDK) eller et hvilket som helst anvendt java-bibliotek er udelukket.

En ikke-Kotlin-fil tages ikke i betragtning under en sรฅdan operation. Mens du mรฅlretter JavaScript .kt fil konverteres til ES5.1 af Kotlin compiler for at generere en konsistent kode for JavaManuskript. Kotlin compiler bestrรฆber sig pรฅ en optimal stรธrrelse output, interoperabilitet med eksisterende modul, samme funktionalitet som standardbiblioteket og output, der er JavaScript lรฆsbar.

Det er tydeligt fra diskussionen, at Kotlin Compilers kan skabe en mere effektiv, kompetent og uafhรฆngig kode, der yderligere resulterer i et hรธjtydende softwareprodukt.

Kotlin Variabel

Variabler bruges til at lagre data, der skal manipuleres og refereres til i programmet. Det er grundlรฆggende en enhed for lagring af data og mรฆrkning af dem venter pรฅ et ekspositorisk alias, sรฅ programmet er nemt at lรฆse og let at forstรฅ. Med andre ord kan vi sige, at variabler er beholderne til at indsamle information.

I Kotlin skal alle variable deklareres. Men hvis en variabel ikke er deklareret, sรฅ viser det sig at vรฆre en syntaksfejl. Deklarationen af โ€‹โ€‹variablen bestemmer ogsรฅ, hvilken type data vi tillader at gemme i variablen. I Kotlin kan variabler defineres ved hjรฆlp af val og var nรธgleord. Her er syntaksen for at erklรฆre variabler i Kotlin:

Var day = "Monday"
Var number = 3

Her har vi erklรฆret den lokale variabeldag, hvis vรฆrdi er "Monday' og hvis type er String og et andet lokalt variabeltal, hvis vรฆrdi er 3 og hvis type er Int, fordi her er det bogstavelige af typen heltal, der er 3.

Lokale variable deklareres og initialiseres sรฆdvanligvis samtidigt. Vi kan ogsรฅ udfรธre visse operationer, mens vi initialiserer Kotlin-variablen.

Vi kan udfรธre en operation pรฅ variablen af โ€‹โ€‹samme datatype, da num1 og num2 her begge er af samme datatype, som er Int, hvorimod dag er af strengdatatypen. Ergo vil den vise en fejl. Her er en anden teknik, hvordan du kan definere variabler i Kotlin.

var day : String = "GURU99"
var num : Int = 100

Lad os se, hvordan var og val sรธgeord er forskellige fra hinanden.

Var:

Var er som en generisk variabel, der bruges i et hvilket som helst programmeringssprog, der kan bruges flere gange i et enkelt program. Desuden kan du รฆndre dens vรฆrdi nรฅr som helst i et program. Derfor er det kendt som den foranderlige variabel.

Her er et eksempel pรฅ foranderlig variabel i Kotlin:

var num1 = 10
Var num2 = 20
Num1 = 20
print(num1 + num2) // output : 40

Her bliver vรฆrdien af โ€‹โ€‹num1, der er 20, overskrevet af den tidligere vรฆrdi af num1, som er 10. Derfor er outputtet af num1 + num2 40 i stedet for 30.

Vรฆrdi:

Val er som en konstant variabel, og du kan ikke รฆndre dens vรฆrdi senere i programmet, som hverken kan tildeles flere gange i et enkelt program og kun kan bruges รฉn gang i et bestemt program. Ergo er det kendt som en uforanderlig variabel.

Her er et Kotlin-programeksempel pรฅ uforanderlige variabler i Kotlin:

Val num1 = 10
Var num2 = 20

Her kan vรฆrdien af โ€‹โ€‹num1, der er 10, ikke overskrives af den nye vรฆrdi af num1, der er 20, da den er af val-typen, der er konstant. Derfor er output 30 i stedet for 40.

Bemรฆrk: I Kotlin foretrรฆkkes uforanderlige variable frem for foranderlige variable.

Datatyper i Kotlin

Datatyper er sรฆt af relaterbare vรฆrdier og beskriver de operationer, der kan betjenes pรฅ dem. I lighed med andre programmeringssprog har Kotlin ogsรฅ sit foruddefinerede sรฆt af datatyper som Int, Boolean, Char, DoubleOsv

I Kotlin betragtes hver datatype som et objekt.

Lad os nu i denne grundlรฆggende Kotlin-tutorial dykke dybere ned i de foruddefinerede datatyper, der bruges i Kotlin.

Numbers :

Kotlin serverer et sรฆt indbyggede datatyper kendt som tal, som er underkategoriseret som heltal og flydende point Numbers.

Heltal :

Heltal er kategorien af โ€‹โ€‹tal, der har fire typer:

Type Stรธrrelse (bits) Min vรฆrdi Maksimal vรฆrdi
Byte 8 -128 127
Kort 16 -32768 32767
Int 32 -2,147,483,648 (-231) 2,147,483,647 (231 - 1)
Lang 64 -9,223,372,036,854,775,808 (-263) 9,223,372,036,854,775,807 (263 - 1)

Flydende punkt Numbers :

Flydende punkt Numbers er de ikke-heltallige tal, der bรฆrer nogle decimalvรฆrdier.

Float: Float er en 32-bit flydende vรฆrdi med enkelt prรฆcision.

Eksempel: var: Float x = 3.25600

Double: Double er en 64-bit dobbelt โ€“ prรฆcision flydende kommavรฆrdi.

Eksempel: var: Double y = 2456.345587

booleanere:

Booleans datatype i Kotlin er signifikant for at reprรฆsentere de logiske vรฆrdier. Der er kun to mulige vรฆrdier i Boolean, som enten er sande eller falske.

For eksempel: valdag = sand

Valdag 2 = falsk

Karakter :

Karakterer i Kotlin er reprรฆsenteret ved hjรฆlp af nรธgleordet kaldet char. I Kotlin reprรฆsenterer enkelte anfรธrselstegn erklรฆringen om char. I java bruges char nogle gange som tal, der ikke er muligt i kotlin.

For eksempel:

val onechar = 'x'
print(onechar) //  output : x
Val onedigit = '7'
print(onedigit) // output : 7

Kotlin Type Konvertering eller Kotlin Type Stรธbning

Typekonvertering er en procedure til at konvertere en type datavariabel til en anden datatypevariabel. Det er enormt, ogsรฅ kendt som Type Casting.

Eminent, i Java, implicit type typekonvertering eller implicit type typecasting af en mindre datatype til stรธrre datatype understรธttes.

For Example : int abc = 15;
Long bcd = abc; // compiles successfully

Men i kotlin understรธttes implicit konvertering af en mindre datatype til en stรธrre datatype slet ikke, da en int datatype ikke kan konverteres til lang datatype implicit.

For Example : var abc = 15
Val bcd : Long = abc // error

I Kotlin udfรธres typekonvertering dog eksplicit. Her kommer vejledningen af โ€‹โ€‹hjรฆlpefunktioner, der guider konverteringen af โ€‹โ€‹en datatypevariabel til en anden.

Der er visse hjรฆlpefunktioner, som er forudejede til konvertering af en datatype til en anden:

toInt()

toByte()

toShort()

toChar()

for langt()

at flyde()

tilDouble()

For Example : var abc = 15
Val bcd : Long = abc.toLong() // compiles successfully

Kotlin Operatorer

Operators er betydningsfulde og specielle tegn eller symboler, der sikrer operationerne i operander, der har variabler og vรฆrdier. I Kotlin er der et sรฆt operatรธrer, der bruges i forskellige operationer som aritmetiske operationer, tildelingsoperationer, sammenligningsoperationer osv.

Aritmetik Operators:

Aritmetiske operatorer bruges til addition, subtraktion, multiplikation, division og modul.

OperaTor Betydning
+ Tilfรธjelse (bruges ogsรฅ til strengsammenkรฆdning)
- Subtraktion OperaTor
* Multiplikation OperaTor
/ Afdeling OperaTor
% modulus OperaTor

For eksempel:

var x = 10
var y = 20
var z = ( ( x + y ) * ( x + y ) ) / 2     

Her er outputtet af fรธlgende kode 45.

Sammenligning Operators:

Sammenligningsoperator bruges til at sammenligne to vรฆrdier, to variable eller to tal. Det bruges med stรธrre end symbol( > ), mindre end symbol( < ) og lig med symbol( ==), ikke lig med symbol( != ), stรธrre end lig med symbol( >= ), mindre end lig med symbol(<= ). Det resulterer altid i sandt eller falsk.

For eksempel:

var x = 10
Var y =20
Var z = x < y // Output : true
Var w = x > y // Output : false
Var m = x == y // Output : false

Opgave Operators:

Opgave Operatorer bruges til at tildele de aritmetiske betjente vรฆrdier. Det bruges sammen med symboler som +=, -=, *=, /=, %=.

For eksempel:

var x = 10
var y = 20
var x + = y // Output : 30
Var y - = x // Output : 10
Var x * = y // Output : 200

Forรธg og formindsk Operators:

Inkrement- og reduktionsoperatorer bruges til at รธge og formindske vรฆrdierne af variablen eller tallet. Det bruges ved hjรฆlp af symboler som ++ og โ€”.

Der er to typer stigning og formindskelse, som er fรธr-stigning ++a, efter-stigning a++, fรธr-stigning -b, efter-stigning b-.

For eksempel:

var a = 10
var b = 20
var c = a++ // Output: 11
var d = bโ€” //Output : 19     

Kotlin Arrays

Et array er det homogene sรฆt af datatyper og er en af โ€‹โ€‹de mest fundamentale datatyper, som bruges til at gemme de samme typer data i den sammenhรฆngende hukommelsesplacering. Et array er vigtigt for organiseringen af โ€‹โ€‹data i et hvilket som helst programmeringssprog, sรฅledes at flere data, der er gemt et enkelt sted, er nemme at sรธge eller sortere.

I Kotlin er arrays et foranderligt samarbejde af de samme datatyper i stedet for at vรฆre native datatyper.

Her er visse egenskaber ved et array i Kotlin

  • Stรธrrelsen af โ€‹โ€‹arrayet kan ikke รฆndres, nรฅr den fรธrst er deklareret.
  • Arrays i Kotlin kan รฆndres.
  • Arrays gemmes i sammenhรฆngende hukommelsesplaceringer.
  • Et array kan tilgรฅs ved hjรฆlp af indekser som a[1], a[2], et โ€“ cetera.
  • Indekset for en matrix starter med nul, som er a[0].

I Kotlin kan et array defineres pรฅ to forskellige metoder

Ved at bruge arrayOf() funktion:

I Kotlin er der stor brug af biblioteksfunktioner. En sรฅdan biblioteksfunktion er arrayOf() funktion, som bruges til at definere en matrix ved at overfรธre vรฆrdierne af variablerne til funktionen.

For eksempel: Implicit typeerklรฆring af array ved hjรฆlp af arrayOf() funktion

val x = arrayOf(1,2,3,4,5,6,7,8,9)

For eksempel: Indtast eksplicit erklรฆring om array ved hjรฆlp af arrayOf()-funktionen.

Val y = arrayOf<Int>(1,2,3,4,5,6,7,8,9)

Ved at bruge Array Constructor:

I Kotlin er der en klasse med navnet Array. Derfor er det muligt at bruge et array af konstruktรธren til at skabe et array. Arrayet i konstruktรธren har to hovedparametre.

Hvad er indekset for et array i Kotlin?

Funktionen, hvor et matrixindeks er acceptabelt for at returnere den oprindelige vรฆrdi af indekset.

For eksempel:

val abc = Array(7 , { i -> i*1})

Her er vรฆrdien af โ€‹โ€‹array 7, og lambda-udtryk bruges til at initialisere vรฆrdierne af elementet.

Der er ogsรฅ forskellige metoder til at fรฅ adgang til og รฆndre arrays ved hjรฆlp af visse funktioner. Derfor er der to medlemsfunktioner get() og set(), som bruges til at fรฅ adgang til klassearrayets objekter.

For eksempel:

val x = arrayOf(10,20,30,40,50,60,70,80,90)
val y = x.get(0) // Output 10

Her er outputtet 10, da vรฆrdien ved indeks 0 for array er 10

Bemรฆrk: get() tager kun enkelte vรฆrdier

For eksempel:

val x = arrayOf(10,20,30,40,50,60,70.80.90)
val y = x.set(2, 3) //

Output: 30 40

Her er outputtet 30 og 40, da vรฆrdien ved indeks 2 af array er 30 og ved indeks 3 er den 40.

Bemรฆrk: set() tager flere vรฆrdier af et array.

Kotlin Strings

En streng er en grundlรฆggende datatype i et hvilket som helst programmeringssprog. En streng er intet andet end en sekvens af tegn. Klassen String reprรฆsenterer tegnstrenge. I Kotlin er alle strenge objekter af String-klassen, hvilket betyder, at strengliteraler er implementeret som forekomster af klassen.

Syntaks:

 Val myString = "Hey there!"

Kotlin samling

En samling indeholder flere genstande af lignende type, og disse genstande i samlingen kaldes elementer eller genstande. Indsamling kan hjรฆlpe med at gemme, hente, manipulere og samle data.

Typer af samlinger:

Uforanderlig samling

Denne type samling understรธtter skrivebeskyttede funktioner. Man kan ikke รฆndre dens elementer.

Metoder omfatter:

  • Liste โ€“ listOf() og listOf ()
  • Sรฆt โ€“ sรฆtOf()
  • Kort โ€“ mapOf()

Foranderlig samling

Den understรธtter bรฅde lรฆse- og skrivefunktionalitet.

Metoder omfatter

  • Liste โ€“ mutableListOf(),arrayListOf() og ArrayList
  • Sรฆt โ€“ mutableSetOf(), hashSetOf()
  • Kort โ€“ mutableMapOf(), hashMapOf() og HashMap

Kotlin funktioner

Funktioner i et hvilket som helst programmeringssprog er en gruppe af lignende udsagn, som er udpeget til at udfรธre en specifik opgave. Funktioner gรธr det muligt for et program at opdele det i forskellige smรฅ kodeblokke. Denne opdeling af kode รธger kodens lรฆsbarhed, genanvendeligheden af โ€‹โ€‹koden og gรธr et program nemt at administrere.

Som Kotlin er kendt som et statisk maskinskrevet sprog. Her bruges nรธgleordet 'sjov' til at erklรฆre en funktion. I Kotlin er der to typer funktioner, som udelukkende afhรฆnger af tilgรฆngeligheden i standardbiblioteket eller brugerdefinitionen. De er:

  • Standard biblioteksfunktion
  • Brugerdefineret funktion

Kotlin funktion

Kotlin funktioner

Lad os nu diskutere dem i detaljer med Kotlin-kodeeksempler.

Standard biblioteksfunktion

De er indbyggede biblioteksfunktioner, der kan defineres implicit og tilgรฆngelige til brug.

For eksempel 2:

fun main(args: Array<String>){  
var number = 9  
var result = Math.sqrt(number.toDouble())  
print("$result")  
}  

Output:

3.0

sqrt() er en funktion defineret i biblioteket, som returnerer kvadratroden af โ€‹โ€‹et tal.

print()-funktionen udskriver besked til en standard outputstrรธm.

Brugerdefineret funktion

Som navnet antyder, er disse funktioner normalt oprettet af brugere, og de kan bruges til avanceret programmering.

Her deklareres funktioner ved hjรฆlp af nรธgleordet 'sjov'.

For eksempel 3:

fun functionName(){
//body of the code
}

Her kalder vi funktionen til at kรธre koder inde i kroppen functionName()

Eksempler pรฅ Kotlin-funktioner:

fun main(args: Array<String>){  
    sum()  
    print("code after sum")  
}  
fun sum(){  
    var num1 =8  
    var num2 = 9  
    println("sum = "+(num1+num2))  
}  

Output:

sum = 17

kode efter sum

Undtagelseshรฅndtering i Kotlin

Undtagelse i programmering er defineret som et runtime-problem, der opstรฅr i programmet, hvilket fรธrer til, at det afsluttes. Dette problem kan opstรฅ pรฅ grund af mindre hukommelsesplads, array out of bond, forhold som division med nul. For at dรฆmme op for disse typer problemer i kodeeksekvering bruges undtagelseshรฅndtering.

Undtagelseshรฅndtering er defineret som den teknik, der hรฅndterer runtime-problemerne og ogsรฅ vedligeholder programflowet under udfรธrelse.

Kotlin bruger udtrykket 'kast' til at kaste et undtagelsesobjekt. Her er alle undtagelsesklasser efterkommere af klassen Throwable.

Kast MyException ("kaster undtagelse")

Der er fire typer undtagelser i undtagelseshรฅndtering. De er:

  • try โ€“ Denne blok indeholder sรฆtninger, der kan skabe undtagelsen. Det efterfรธlges altid af enten fangst eller til sidst eller begge dele.
  • catch โ€“ den fanger en undtagelse smidt fra try-blokken.
  • endelig โ€“ Den kontrollerer altid, om undtagelsen hรฅndteres eller ej.
  • throw โ€“ Det bruges til eksplicit at kaste en undtagelse.

Prรธv at fange:

I try-catch-blok i undtagelseshรฅndtering omslutter try-blok koden, som kan kaste en undtagelse og catch-blok fanger udtrykket og hรฅndterer det.

Syntaks for try catch-blok:

try{    
//code with exception    
}catch(e: SomeException){  
//code handling exception  
}    

Syntaks for prรธv med endelig blok

try{    
//code with exception    
}finally{  
// code finally block  
}   

Langt om lรฆnge:

I Kolin kontrollerer endelig blok altid, om undtagelsen er hรฅndteret eller ej, hvilket gรธr det til en meget vigtig erklรฆring om undtagelseshรฅndtering.

For eksempel 4:

I dette kodestykke opstรฅr undtagelsen, og den hรฅndteres.

fun main (args: Array<String>){  
    try {  	
        val data =  9/ 0  
        println(data)  
    } catch (e: ArithmeticException) {  
        println(e)  
    } finally {  
        println("finally block executes")  
    }  
    println("write next code")  
}  

Output:

java.lang.ArithmeticException: / by zero
finally block executes
write next code

Kaste:

Kasteblok kaster en eksplicit undtagelse. Desuden bruges det til at smide brugerdefinerede undtagelser.

Syntaks:

Throw SomeException()

Throw SomeException()

Eksempel:

fun main(args: Array<String>) {
    try{
        println("Exception is not thrown yet")
        throw Exception("Everything is not well")
        println("Exception is thrown")
    }
    catch(e: Exception){
        println(e)

    }
    finally{
        println("You can't ignore me")
    }
}

Output:

Kotlin eksempel

Kotlin Null Safety

De typer systemer, der understรธtter Kotlin, skelner hovedsageligt mellem de referencer, der kan bรฆre nul-referencer, og dem, der ikke kan bรฆre nul-referencer. Kotlin er et nul-sikkerhedssprog, der har til formรฅl at eliminere nul pointer-undtagelsen eller null-referencen fra koden, som bevidst er kendt som A Billion Dollar Fejl.

Den mest konventionelle stopklods af mange programmeringssprog er, at mens du fรฅr adgang til et medlem af en null-reference, resulterer det i at vรฆre en NullPointerException, hvilket kan vรฆre pรฅ grund af !! operatรธr eller denne konstruktรธr brugt et andet sted og videregivet pรฅ et andet kodepunkt. Null-egenskaben krรฆver bekrรฆftelse for nul-kontrollen hver gang fรธr dens brug.

I Kotlin skelner systemet mellem nulreferencer og ikke nulreferencer.

For eksempel kan en strengvariabel ikke indeholde null:

For eksempel 5:

fun main(args: Array<String>){
    var x: String = "GURU99 is the only place where you will get maximum technical content!" // Not Null by default
    println("x is : $x")
    // You cannot assign null variable to not-nullable variables 
    // a=null // it will give compilation error
    var y: String? = "Thanks for visiting GURU99" 
// Nullable Variable
    println("y is : $y")
    y = null
    println("y is : $y")
}

Output:

Kotlin Null Safety

Kotlin OOPs

Den objektorienterede programmeringstilgang tillader et komplekst kodestykke at opdele i mindre kodeblokke ved at skabe objekter. Disse objekter deler gensidigt to karakteristika: tilstand og adfรฆrd.

Her er nogle af OOPs-elementerne, som vi vil diskutere med Kotlin-kodeeksempler:

  • Klasse og objekter
  • Konstruktรธrer
  • Arv
  • Abstrakt klasse

Kotlin OOPs

Klasse i Kotlin

Det fรธrste, fรธr vi opretter et objekt, skal vi definere en klasse, der ogsรฅ er kendt som blueprintet for objektet.

Syntaks:

class ClassName {
    // property
    // member function
    ... .. ...
}

Objekter i Kotlin

Mens vi definerer en klasse, definerer vi kun specifikationerne for objektet, ingen anden parameter som hukommelse eller lager er allokeret.

Syntaks:

var obj1 = ClassName()

Konstruktรธrer i Kotlin

En konstruktรธr er en mรฅde at initialisere klasseegenskaber pรฅ. Det er en medlemsfunktion, der kaldes, nรฅr et objekt instansieres. Men i Kotlin fungerer det anderledes.

Der er to typer konstruktรธrer i Kotlin:

Konstruktรธrer i Kotlin

Konstruktรธrer i Kotlin

Primรฆr konstruktรธr: Optimeret mรฅde at initialisere en klasse pรฅ

Syntaks:

class myClass(valname: String,varid: Int) {  
    // class body  
}  

Sekundรฆr konstruktรธr: Hjรฆlper med at tilfรธje initialiseringslogik

Kotlin arv

Arv opstรฅr, nรฅr nogle egenskaber i den overordnede klasse erhverves af den underordnede klasse. Arv er tilladt, nรฅr to eller flere klasser har samme egenskaber.

Syntaks:

open class ParentClass(primary_construct){
    // common code
  }class ChildClass(primary_construct): ParentClass(primary_construct_initializ){
    // ChildClass specific behaviours
  }

Abstrakt klasse i Kotlin

En abstrakt klasse er en klasse, der ikke kan instansieres, men vi kan arve underklasser fra dem. 'abstract' nรธgleord bruges til at erklรฆre en abstrakt klasse.

For eksempel 6:

  open class humanbeings { 
    open fun Eat() { 
        println("All Human being Eat") 
    } 
} 
abstract class Animal : humanbeings() { 
    override abstract fun Eat() 
} 
class Cat: Animal(){ 
    override fun Eat() { 
        println("Cats also loves eating") 
    } 
} 
fun main(args: Array<String>){ 
    val lt = humanbeings() 
    lt.Eat() 
    val d = Cat() 
    d.Eat() 
} 

Output:

Abstrakt klasse i Kotlin

Kotlins nutid og fremtid

Gaven:

  • Mange virksomheder kan lide Netflix, Pinterest og Corda bruger Kotlin til at skabe kraftfulde Android apps.
  • I lรธbet af en kort varighed pรฅ et รฅr, 2016 til 2017, blev Kotlin meget populรฆr med fantastiske programmeringsfunktioner.
  • I 2017 annoncerede Google Kotlin som et officielt programmeringssprog til Android-udvikling.
  • Du kan hurtigt udskifte Java kode med Kotlin, da den er 100% interoperabel med Java og Android.

Fremtiden:

  • Spiludvikling pรฅ tvรฆrs af platforme
  • Udvikling af mobilapps pรฅ tvรฆrs af platforme
  • Service-side scripting og mikrotjenester
  • Maskinelรฆring & dataanalyse

Resumรฉ

  • Kotlin er et programmeringssprog foreslรฅet af JetBrains i 2010 til multi-platform apps under Apache 2.0 licensen.
  • Navnet Kotlin er afledt efter navnet Kotlin Island i en lignende korrespondance af Java efter navnet pรฅ en รธ kaldet java.
  • I 2016 blev Kotlins fรธrste version v1.0 lanceret
  • Kotlin-programmer krรฆver ikke semikolon i deres program. Dette gรธr koden nem og mere lรฆsbar.
  • Kotlin for Android developers er et OOPs-baseret programmeringssprog, hvor kodelinjen kan trimmes op til 40 %, hvilket gรธr Kotlin til et ideelt valg til software- eller webudvikling.
  • I Kotlin skal alle variable deklareres ved hjรฆlp af var og val nรธgleord.
  • I lighed med andre programmeringssprog har Kotlin ogsรฅ sit foruddefinerede sรฆt af datatyper som Int, Boolean, Char, DoubleOsv
  • I Kotlin er der et sรฆt operatรธrer, der bruges i forskellige operationer som aritmetiske operationer, tildelingsoperationer, sammenligningsoperationer osv.
  • I Kotlin er arrays et foranderligt samarbejde af de samme datatyper i stedet for at vรฆre native datatyper.
  • I Kotlin er arrays defineret ved hjรฆlp af to metoder - ArrayOF () og Constructors.
  • Kotlin er et nul-sikkerhedssprog, der hjรฆlper med at fjerne nul pointer-undtagelsen eller nul-referencen fra koden, som bevidst kaldes A Billion Dollar Fejl.

Opsummer dette indlรฆg med: