Kotlin-programmeringshandledning

Vad รคr Kotlin?

Kotlin รคr ett statiskt skrivet programmeringssprรฅk med รถppen kรคllkod som kรถrs pรฅ Java Virtuell maskin (JVM). Den kombinerar objektorienterad programmering (OOP) och funktionell programmering i obegrรคnsade, sjรคlvfรถrsรถrjande och distinkta plattformar. Det tillรฅter ocksรฅ twinning av funktioner med miniatyrkoder. Kotlin รคr ett allmรคnt programmeringssprรฅk som designades av JetBrains.

Kotlins historia

Hรคr รคr viktiga landmรคrken frรฅn Kotlins historia:

ร…r Event
2016 Kotlin v1.0 lanserades
2017 Tillkรคnnagivande av Google om fรถrstklassigt stรถd fรถr kotlin i Android
2018 Kotlin v1.2 kommer med tillรคgg fรถr att distribuera koder mellan JVM och JavaScript
2019 Google tillkรคnnagav Kotlin som sitt fรถredragna programmeringssprรฅk fรถr Android Applikationsutvecklare
2021 Den 20 september 2021 lanserades Kotlin v1.5.31.

Anledningar till att anvรคnda Kotlin

Hรคr รคr nรฅgra viktiga skรคl till varfรถr Kotlin anvรคnds flitigt:

  • Kotlin รคr ett statiskt skrivet sprรฅk som รคr mycket lรคtt att lรคsa och skriva.
  • Kotlin-program krรคver inte semikolon i sina program. Detta gรถr koden lรคtt och mer lรคsbar.
  • Denna languare tillรฅter utbyte och anvรคndning av information frรฅn Java pรฅ olika sรคtt. Dessutom, Java och Kotlin-kod kan samexistera i samma projekt.
  • Kotlins typsystem syftar till att eliminera NullPointerException frรฅn koden.
  • Det tar dig mindre tid att skriva ny kod i Kotlin. Det รคr รคnnu enklare att distribuera kotlin-kod och att underhรฅlla den i skala.

Funktioner hos Kotlin

Hรคr รคr nรฅgra funktioner i Kotlin som kommer att gรถra dig sรคker pรฅ framstegsvรคgen fรถr programmeringssprรฅket.

Trimmad kodning:

Kotlin รคr ett OOPs-baserat programmeringssprรฅk dรคr kodlinjen kan trimmas upp till 40 %, vilket gรถr Kotlin till ett idealiskt val fรถr mjukvara eller webbutveckling.

ร–ppen kรคlla:

Kotlin fรถr Android anvรคnder JVM och kombinerar funktionerna hos OOPs och funktionellt orienterad programmering.

Snabb sammanstรคllning:

det รคr enkelt att kompilera koden nรคr man arbetar med Kotlin vilket ger bรคttre prestanda fรถr androidutveckling, och det kommer ocksรฅ att fรถrklara vilken typ av datafunktion som kan anvรคndas i hela koden.

Tillรคggsfunktioner:

Kotlin kan stรถdja en mรคngd olika tillรคggsfunktioner utan att gรถra nรฅgra รคndringar i koden. det hjรคlper till att gรถra befintlig kod mer tilltalande och magnifik fรถr utvecklare.

Till exempel:

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

Den hรคr koden hjรคlper till att trimma ner det fรถrsta och sista tecknet i strรคngen, vi kan anvรคnda det som:

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

Noll sรคkerhet:

I Kotlin skiljer systemet mellan nollreferenser och inte nollreferenser som visas i nedanstรฅende Kotlin-exempel.

Till exempel kan en strรคngvariabel inte innehรฅlla 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-kod kan anvรคndas av Javaoch Java koder kan anvรคndas med Kotlin. Sรฅ, om du har kunskap om Hoppsan programmering รคr det lรคtt att byta till Kotlins utveckling. ร„ven om det finns nรฅgra ansรถkningar inskrivna Java, dรฅ kan de anvรคndas med Kotlins miljรถ.

Robusta verktyg:

Tycka om Java, Kotlin-kod kan ocksรฅ skrivas med IDE eller med kommandoradsgrรคnssnittet. Det รคr lรคtt att arbeta med IDE, och syntaxfel minskar ocksรฅ dramatiskt. Samtidigt, nรคr du arbetar med ett kommandoradsgrรคnssnitt, mรฅste kod kompileras fรถrst.

Smart Cast:

Smart gjutning hjรคlper i princip att minska applikationskostnaderna och fรถrbรคttrar dess hastighet eller prestanda. Det fungerar pรฅ att hantera effektiviteten av kod med hjรคlp av typgjutning eller ofรถrรคnderliga vรคrden.

Till exempel, om strรคngen identifieras, รคr dens lรคngd och antal och kan hittas med hjรคlp av Smart Cast-funktionen:

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

Lรฅg kostnad fรถr adoption:

Kotlin fรถredras av fรถretag pรฅ grund av dess fรถrlorade kostnad fรถr adoption. Viktigast av allt รคr att det รคr lรคtt att lรคra sig av utvecklare, sรคrskilt med en programmeringsbakgrund.

Kotlin-miljรถinstรคllningar

Fรถljande รคr stegen som hjรคlper dig att stรคlla in en arbetsmiljรถ genom att installera Kotlin.

Steg 1) Installera Java

Som vi har diskuterat tidigare att Kotlin bygger pรฅ Java, sรฅ du mรฅste installera Java fรถrst nรคr man planerar att adoptera Kotlin. Se vรฅr Java Installationshandledning.

Steg 2) Installera Java IDE

Lyckligtvis finns det flera Java IDE att vรคlja ifrรฅn. Hรคr har vi gett nedladdningslรคnkar fรถr att gรถra det lite enklare fรถr dig.

I denna Kotlin-handledning kommer vi att anvรคnda Eclipse.

Steg 3) Installera Kotlin

Fรถr installation av Kotlin i Eclipse, gรฅ till avsnittet Hjรคlp i Eclipse och klicka pรฅ Eclipse Marknadsplatsalternativ.

Kotlin-miljรถinstรคllningar

Skriv nu Kotlin-nyckelordet i sรถkrutan. Klicka pรฅ alternativet Gรฅ fรถr att lista plugin-programmet. Det kommer att ge dig en lรคnk till Kotlin-plugin, du mรฅste installera plug-in frรฅn den givna lรคnken.

Kotlin-miljรถinstรคllningar

Vรคnligen starta om Eclipse IDE, nรคr installationen รคr klar. Du hittar en genvรคgsikon i det รถvre hรถgra hรถrnet av Eclipse ID. Det รคr en metod fรถr snabb รฅtkomst.

Kotlin-miljรถinstรคllningar

Ett annat sรคtt att komma รฅt Kotlin in Eclipse IDE รคr, gรฅ till Windows, Perspektiv, ร–ppna perspektiv och vรคlj sedan alternativet Andra. Hรคr kan du kontrollera en lista รถver plugins som installeras senare, enligt nedan.

Kotlin-miljรถinstรคllningar

Nรคr du har verifierat Kotlin-installationen, lรฅt oss skapa det fรถrsta Kotlin-programmet i nรคsta steg.

Steg 4) Fรถrsta Kotlin-programmet

Bรถrja med ditt fรถrsta Kotlin-projekt. Frรฅn Arkiv-menyn, vรคlj alternativet Nytt, vรคlj sedan andra och bรถrja med ett nytt Kotlin-projekt frรฅn listan.

Kotlin-miljรถinstรคllningar

Nu mรฅste du definiera ett namn fรถr projektet och du รคr redo att arbeta med Kotlin.

Kotlin-miljรถinstรคllningar

Med dessa enkla steg รคr det enkelt att ladda ner Eclipse och Kotlin pรฅ ditt system och skriv ditt fรถrsta Kotlin-program direkt.

Architecture av Kotlin

En vรคlbyggd arkitektur รคr viktig fรถr att en applikation ska skala upp sina funktioner och uppfylla fรถrvรคntningarna hos slutanvรคndarbasen. Kotlin har sin egen speciella och distinkta arkitektur fรถr att allokera minnet och fรถr att fรฅ kvalitetsresultat fรถr utvecklarna och slutanvรคndarna.

Kotlins koroutiner och klasser skapar kรคrnan pรฅ ett sรฅdant sรคtt att de producerar mindre kod, fรถrstรคrker prestandan och fรถrstรคrker effektiviteten. Det finns en mรคngd olika scenarier dรคr kotlin-kompilatorn kan reagera olika, sรคrskilt nรคr den รถronmรคrker olika typer av sprรฅk.

Architecture av Kotlin
Architecture av Kotlin

I arkitekturdiagrammet รคr det tydligt att kodexekvering sker i tre enkla steg.

  1. I det fรถrsta steget lรคggs ".kt" eller kotlin-fil till i kompilatorn.
  2. I det andra steget konverterar Kotlin-kompilatorn koden till bytekod.
  3. I det tredje steget lรคggs bytekod in Java Virtuell maskin och utfรถrs av JVM.

Nรคr ett par bytekodade filer fungerar pรฅ JVM, tรคnder de den รถmsesidiga kommunikationen sinsemellan, vilket รคr anledningen till funktionen i Kotlin som kallas interoperabilitet fรถr java ook fรถdelse

Det intrรคffade av Kotlin till JavaManus hรคnder nรคr Kotlin mรฅl JavaManus.

Nรคr JavaScriptets mรฅl รคr valt, vilken kod som helst av Kotlin som รคr en del av biblioteket som seglar med Kotlin spills sedan ut med JavaManus. Men den Java Development Kit (JDK) eller nรฅgot Java-bibliotek som anvรคnds รคr uteslutet.

En icke-Kotlin-fil tas inte i beaktande under sรฅdan operation. Under inriktning JavaSkript .kt-fil konverteras till ES5.1 av Kotlin-kompilatorn fรถr att generera en konsekvent kod fรถr JavaManus. Kotlin-kompilatorn strรคvar efter en optimal storleksutdata, interoperabilitet med befintlig modul, samma funktionalitet som standardbiblioteket och utdata som รคr JavaSkript lรคsbart.

Det framgรฅr av diskussionen att Kotlin-kompilatorer kan skapa en mer effektiv, kompetent och oberoende kod som ytterligare resulterar i en hรถgpresterande mjukvaruprodukt.

Kotlin Variabel

Variabler anvรคnds fรถr att lagra data som ska manipuleras och refereras till i programmet. Det รคr i grunden en enhet fรถr att lagra data och mรคrka den vรคntar pรฅ ett expository alias sรฅ att programmet รคr enkelt att lรคsa och lรคtt att fรถrstรฅ. Med andra ord kan vi sรคga att variabler รคr behรฅllare fรถr att samla in information.

I Kotlin ska alla variabler deklareras. Men om nรฅgon variabel inte deklareras, sรฅ dyker det upp som ett syntaxfel. Deklarationen av variabeln bestรคmmer ocksรฅ vilken typ av data vi tillรฅter att lagra i variabeln. I Kotlin kan variabler definieras med nyckelord val och var. Hรคr รคr syntaxen fรถr att deklarera variabler i Kotlin:

Var day = "Monday"
Var number = 3

Hรคr har vi deklarerat den lokala variabeldagen vars vรคrde รคr "Monday' och vars typ รคr String och ett annat lokalt variabelnummer vars vรคrde รคr 3 och vars typ รคr Int eftersom bokstaven hรคr รคr av typen heltal som รคr 3.

Lokala variabler deklareras och initieras vanligtvis samtidigt. Vi kan ocksรฅ utfรถra vissa operationer medan vi initierar Kotlin-variabeln.

Vi kan utfรถra en operation pรฅ variabeln av samma datatyp, eftersom num1 och num2 hรคr bรฅda รคr av samma datatyp som รคr Int, medan dag รคr av strรคngdatatypen. Det kommer alltsรฅ att visa ett fel. Hรคr รคr en annan teknik hur du kan definiera variabler i Kotlin.

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

Lรฅt oss se hur var och val nyckelord skiljer sig frรฅn varandra.

Var :

Var รคr som en generisk variabel som anvรคnds i alla programmeringssprรฅk som kan anvรคndas flera gรฅnger i ett enda program. Dessutom kan du รคndra dess vรคrde nรคr som helst i ett program. Dรคrfรถr รคr den kรคnd som den fรถrรคnderliga variabeln.

Hรคr รคr ett exempel pรฅ fรถrรคnderlig variabel i Kotlin:

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

Hรคr skrivs vรคrdet pรฅ num1 som รคr 20 รถver av det tidigare vรคrdet pรฅ num1 som รคr 10. Dรคrfรถr รคr utmatningen av num1 + num2 40 istรคllet fรถr 30.

Vรคrde:

Val รคr som en konstant variabel, och du kan inte รคndra dess vรคrde senare i programmet, som inte heller kan tilldelas flera gรฅnger i ett enda program och bara kan anvรคndas en gรฅng i ett visst program. Ergo รคr den kรคnd som en ofรถrรคnderlig variabel.

Hรคr รคr ett Kotlin-programexempel pรฅ ofรถrรคnderliga variabler i Kotlin:

Val num1 = 10
Var num2 = 20

Hรคr kan vรคrdet pรฅ num1 som รคr 10 inte skrivas รถver av det nya vรคrdet pรฅ num1 som รคr 20, eftersom det รคr av valtyp som รคr konstant. Dรคrfรถr รคr utgรฅngen 30 istรคllet fรถr 40.

Anmรคrkningar: I Kotlin fรถredras ofรถrรคnderliga variabler framfรถr fรถrรคnderliga variabler.

Datatyper i Kotlin

Datatyper รคr uppsรคttningar av relaterbara vรคrden och beskriver de operationer som kan utfรถras pรฅ dem. I likhet med andra programmeringssprรฅk har Kotlin ocksรฅ sin fรถrdefinierade uppsรคttning datatyper som Int, Boolean, Char, DoubleEtc.

I Kotlin betraktas varje datatyp som ett objekt.

Nu i denna Kotlin grundlรคggande handledning, lรฅt oss dyka djupare in i de fรถrdefinierade datatyperna som anvรคnds i Kotlin.

Numbers :

Kotlin betjรคnar en uppsรคttning inbyggda datatyper som kallas siffror, som underkategoriseras som heltal och flytande poรคng Numbers.

Heltal:

Heltal รคr den kategori av tal som har fyra typer:

Typ Storlek (bitar) Minvรคrde Maxvรคrde
Byte 8 -128 127
Kort 16 -32768 32767
Int 32 -2,147,483,648 (-231) 2,147,483,647 (231 - 1)
Lรฅng 64 -9,223,372,036,854,775,808 (-263) 9,223,372,036,854,775,807 (263 - 1)

Flytpunkt Numbers :

Flytpunkt Numbers รคr de icke-heltalsnummer som har vissa decimalvรคrden.

Float: Float รคr ett 32-bitars flyttalsvรคrde med enkel precision.

Exempel: var: Float x = 3.25600

Double: Double รคr ett 64-bitars dubbel โ€“ precisionsflyttalsvรคrde.

Exempel: var: Double y = 2456.345587

Booleans:

Booleans datatyp i Kotlin รคr signifikant fรถr att representera de logiska vรคrdena. Det finns bara tvรฅ mรถjliga vรคrden i Boolean som รคr antingen sant eller falskt.

Till exempel: valdag = sant

Val dag2 = falskt

Karaktรคr :

Tecken i Kotlin representeras med hjรคlp av nyckelordet char. I Kotlin representerar enstaka citattecken deklarationen av rรถding. I java anvรคnds rรถding ibland som siffror som inte รคr mรถjligt i kotlin.

Till exempel:

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

Kotlin-typkonvertering eller Kotlin-typgjutning

Typkonvertering รคr en procedur fรถr att konvertera en typ av datavariabel till en annan datatypvariabel. Det รคr enormt, รคven kรคnt som Type Casting.

Eminent, i Java, implicit typ av typkonvertering eller implicit typ av typcasting av en mindre datatyp till en stรถrre datatyp stรถds.

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

Men i kotlin stรถds inte implicit konvertering av en mindre datatyp till en stรถrre datatyp alls, eftersom en int datatyp inte kan konverteras till lรฅng datatyp implicit.

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

I Kotlin gรถrs dock typkonvertering explicit. Hรคr kommer vรคgledning fรถr hjรคlpfunktioner som guidar konverteringen av en datatypsvariabel till en annan.

Det finns vissa hjรคlpfunktioner som รคr fรถrรคgda fรถr konvertering av en datatyp till en annan:

toInt()

toByte()

fรถr kort()

toChar()

toLong()

att flyta()

tillDouble()

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

Kotlin Operatorer

Operators รคr betydelsefulla och specialtecken eller symboler som sรคkerstรคller operationerna i operander som har variabler och vรคrden. I Kotlin finns det en uppsรคttning operatorer som anvรคnds i olika operationer som aritmetiska operationer, tilldelningsoperationer, jรคmfรถrelseoperationer, etc.

Aritmetik Operators:

Aritmetiska operatorer anvรคnds fรถr addition, subtraktion, multiplikation, division och modul.

Operator Betydelse
+ Addition (anvรคnds รคven fรถr strรคngsammansรคttning)
- Subtraktion Operator
* Multiplikation Operator
/ division Operator
% modul Operator

Till exempel:

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

Hรคr รคr resultatet av fรถljande kod 45.

Jรคmfรถrelse Operators:

Jรคmfรถrelseoperator anvรคnds fรถr att jรคmfรถra tvรฅ vรคrden, tvรฅ variabler eller tvรฅ tal. Den anvรคnds med symbolen stรถrre รคn ( > ), mindre รคn symbolen ( < ) och lika med symbolen ( ==), inte lika med symbolen ( != ), stรถrre รคn lika med symbolen ( >= ), mindre รคn lika med symbolen symbol(<= ). Det resulterar alltid i sant eller falskt.

Till exempel:

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

Uppdrag Operators:

Uppdrag Operators anvรคnds fรถr att tilldela de aritmetiskt styrda vรคrdena. Den anvรคnds med symboler som +=, -=, *=, /=, %=.

Till exempel:

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

ร–ka och minska Operators:

ร–ka och minska operatorer anvรคnds fรถr att รถka och minska vรคrdena pรฅ variabeln eller talet. Den anvรคnds med hjรคlp av symboler som ++ och โ€”.

Det finns tvรฅ typer av inkrement och dekrement som รคr pre-increment ++a, post-increment a++, pre-decrement โ€“b, post-decrement bโ€“.

Till exempel:

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

Kotlin Arrays

En Array รคr den homogena uppsรคttningen av datatyper och รคr en av de mest grundlรคggande datatyperna som anvรคnds fรถr att lagra samma typer av data i den sammanhรคngande minnesplatsen. En array รคr viktig fรถr organisationen av data i alla programmeringssprรฅk sรฅ att flera data lagrade pรฅ en enda plats รคr lรคtta att sรถka eller sortera.

I Kotlin รคr arrayer ett fรถrรคnderligt samarbete av samma datatyper snarare รคn att vara infรถdda datatyper.

Hรคr รคr vissa egenskaper hos en array i Kotlin

  • Storleken pรฅ arrayen kan inte รคndras nรคr den vรคl har deklarerats.
  • Arrayer i Kotlin รคr fรถrรคnderliga.
  • Matriser lagras i angrรคnsande minnesplatser.
  • En array kan nรฅs med hjรคlp av index som a[1], a[2], et โ€“ cetera.
  • Indexet fรถr en array bรถrjar med noll som รคr a[0].

I Kotlin kan en array definieras pรฅ tvรฅ olika metoder

Genom att anvรคnda arrayOf()-funktionen:

I Kotlin รคr det en stor anvรคndning av biblioteksfunktioner. En sรฅdan biblioteksfunktion รคr arrayOf()-funktionen, som anvรคnds fรถr att definiera en array genom att รถverfรถra variablernas vรคrden till funktionen.

Till exempel: Implicit typdeklaration av array med arrayOf()-funktionen

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

Till exempel: Skriv explicit deklaration av array med arrayOf()-funktionen.

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

Genom att anvรคnda Array Constructor:

I Kotlin finns det en klass med namnet Array. Dรคrfรถr รคr det mรถjligt att anvรคnda en array av konstruktorn fรถr att skapa en array. Arrayen i konstruktorn har tvรฅ huvudparametrar.

Vad รคr indexet fรถr en array i Kotlin?

Funktionen dรคr ett arrayindex รคr acceptabelt fรถr att returnera indexets initiala vรคrde.

Till exempel:

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

Hรคr รคr vรคrdet pรฅ array 7 och lambda-uttryck anvรคnds fรถr att initiera elementets vรคrden.

Det finns ocksรฅ olika metoder fรถr att komma รฅt och modifiera arrayerna med hjรคlp av vissa funktioner. Dรคrfรถr finns det tvรฅ medlemsfunktioner get() och set(), som anvรคnds fรถr att komma รฅt klassmatrisens objekt.

Till exempel:

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

Hรคr รคr utgรฅngen 10 eftersom vรคrdet vid index 0 fรถr array รคr 10

Notera: get() tar bara enstaka vรคrden

Till exempel:

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

Effekt: 30 40

Hรคr รคr utsignalen 30 och 40 eftersom vรคrdet vid index 2 fรถr array รคr 30 och vid index 3 รคr det 40.

Obs: set() tar flera vรคrden av en array.

Kotlin Strings

En strรคng รคr en grundlรคggande datatyp i alla programmeringssprรฅk. En strรคng รคr inget annat รคn en sekvens av tecken. Klassen String representerar teckenstrรคngar. I Kotlin รคr alla strรคngar objekt av klassen String, vilket innebรคr att strรคngliteraler implementeras som instanser av klassen.

Syntax:

 Val myString = "Hey there!"

Kotlin samling

En samling innehรฅller flera objekt av liknande typ, och dessa objekt i samlingen kallas element eller objekt. Insamling kan hjรคlpa till att lagra, hรคmta, manipulera och samla data.

Typer av samlingar:

Ofรถrรคnderlig samling

Den hรคr typen av samling stรถder skrivskyddade funktioner. Man kan inte modifiera dess element.

Metoder inkluderar:

  • List โ€“ listOf() och listOf ()
  • Set โ€“ setOf()
  • Karta โ€“ mapOf()

Fรถrรคnderlig samling

Den stรถder bรฅde lรคs- och skrivfunktioner.

Metoder inkluderar

  • List โ€“ mutableListOf(),arrayListOf() och ArrayList
  • Set โ€“ mutableSetOf(), hashSetOf()
  • Karta โ€“ mutableMapOf(), hashMapOf() och HashMap

Kotlin funktioner

Funktioner i alla programmeringssprรฅk รคr en grupp liknande uttalanden som รคr avsedda att utfรถra en specifik uppgift. Funktioner gรถr att ett program kan dela upp det i olika smรฅ kodblock. Denna uppdelning av kod รถkar lรคsbarheten av koden, รฅteranvรคndbarheten av koden och gรถr ett program lรคtt att hantera.

Som Kotlin รคr kรคnt som ett statiskt maskinskrivet sprรฅk. Hรคr anvรคnds nyckelordet "roligt" fรถr att deklarera en funktion. I Kotlin finns det tvรฅ typer av funktioner som enbart beror pรฅ dess tillgรคnglighet i standardbiblioteket eller anvรคndardefinitionen. Dom รคr:

  • Standard biblioteksfunktion
  • Anvรคndardefinierad funktion

Kotlin funktion

Kotlin funktioner

Lรฅt oss nu diskutera dem i detalj med Kotlin-kodexempel.

Standard biblioteksfunktion

De รคr inbyggda biblioteksfunktioner som kan definieras implicit och tillgรคngliga fรถr anvรคndning.

Till exempel 2:

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

Produktion:

3.0

sqrt() รคr en funktion definierad i biblioteket som returnerar kvadratroten ur ett tal.

print()-funktionen skriver ut meddelande till en standardutgรฅngsstrรถm.

Anvรคndardefinierad funktion

Som namnet antyder skapas dessa funktioner vanligtvis av anvรคndare, och de kan anvรคndas fรถr avancerad programmering.

Hรคr deklareras funktioner med nyckelordet "roligt".

Till exempel 3:

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

Hรคr anropar vi funktionen fรถr att kรถra koder inuti kroppen functionName()

Exempel 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))  
}  

Produktion:

summa = 17

kod efter summa

Undantagshantering i Kotlin

Undantag i programmering definieras som ett kรถrtidsproblem som uppstรฅr i programmet, vilket leder till att det avslutas. Det hรคr problemet kan uppstรฅ pรฅ grund av mindre minnesutrymme, array out of bond, fรถrhรฅllanden som division med noll. Fรถr att stรคvja dessa typer av problem vid kodexekvering anvรคnds undantagshantering.

Undantagshantering definieras som tekniken som hanterar kรถrtidsproblemen och รคven upprรคtthรฅller programflรถdet under kรถrning.

Kotlin anvรคnder uttrycket 'kasta' fรถr att kasta ett undantagsobjekt. Hรคr รคr alla undantagsklasser รคttlingar till klassen Throwable.

Kasta MyException ("kastar undantag")

Det finns fyra typer av undantag i undantagshantering. Dom รคr:

  • try โ€“ Detta block innehรฅller satser som kan skapa undantaget. Den fรถljs alltid av antingen fรฅngst eller slutligen eller bรฅda.
  • catch โ€“ den fรฅngar ett undantag som kastas frรฅn fรถrsรถksblocket.
  • slutligen โ€“ Den kontrollerar alltid om undantaget hanteras eller inte.
  • kast โ€“ Det anvรคnds fรถr att gรถra ett undantag uttryckligen.

Fรถrsรถk fรฅnga:

I try-catch-block i undantagshantering omsluter try-block koden, vilket kan kasta ett undantag och catch-block fรฅngar uttrycket och hanterar det.

Syntax fรถr try catch block:

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

Syntax fรถr fรถrsรถk med slutligen block

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

Slutligen:

I Kolin kontrollerar slutligen block alltid om undantaget hanteras eller inte, vilket gรถr det till en mycket viktig uppgift om undantagshantering.

Till exempel 4:

I det hรคr kodavsnittet intrรคffar undantaget och det hanteras.

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")  
}  

Produktion:

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

Kasta:

Kasta block ger ett uttryckligt undantag. Dessutom anvรคnds det fรถr att kasta anpassade undantag.

Syntax:

Throw SomeException()

Throw SomeException()

Exempelvis:

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")
    }
}

Produktion:

Kotlin exempel

Kotlin Null Sรคkerhet

De typer av system som stรถder Kotlin skiljer i stort sett mellan de referenser som kan ha nollbara referenser, och de som inte kan ha nollbara referenser. Kotlin รคr ett nollsรคkerhetssprรฅk som syftar till att eliminera nollpekarens undantag eller nollreferens frรฅn koden, som medvetet kallas A Billjon Dollar Misstag.

Den mest konventionella stรถtestenen av mรฅnga programmeringssprรฅk รคr att nรคr man fรฅr รฅtkomst till en medlem av en nollreferens resulterar det i ett NullPointerException, vilket kan bero pรฅ !! operatรถr eller denna konstruktor som anvรคnds nรฅgon annanstans och skickas vid en annan kodpunkt. Den nullbara egenskapen krรคver bekrรคftelse fรถr nollkontrollen varje gรฅng innan den anvรคnds.

I Kotlin skiljer systemet mellan nollreferenser och inte nollreferenser.

Till exempel kan en strรคngvariabel inte innehรฅlla null:

Till exempel 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")
}

Produktion:

Kotlin Null Sรคkerhet

Kotlin OOPs

Den objektorienterade programmeringsmetoden gรถr att ett komplext kodavsnitt kan delas upp i mindre kodblock genom att skapa objekt. Dessa objekt delar รถmsesidigt tvรฅ egenskaper: tillstรฅnd och beteende.

Hรคr รคr nรฅgra av OOPs-elementen som vi kommer att diskutera med Kotlin-kodexempel:

  • Klass och objekt
  • konstruktรถrer
  • Arv
  • Abstrakt klass

Kotlin OOPs

Klass i Kotlin

Det fรถrsta innan vi skapar ett objekt mรฅste vi definiera en klass som ocksรฅ รคr kรคnd som ritningen fรถr objektet.

Syntax:

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

Objekt i Kotlin

Nรคr vi definierar en klass definierar vi bara specifikationerna fรถr objektet, ingen annan parameter som minne eller lagring tilldelas.

Syntax:

var obj1 = ClassName()

Konstruktรถrer i Kotlin

En konstruktor รคr ett sรคtt att initiera klassegenskaper. Det รคr en medlemsfunktion som kallas nรคr ett objekt instansieras. Men i Kotlin fungerar det annorlunda.

Det finns tvรฅ typer av konstruktรถrer i Kotlin:

Konstruktรถrer i Kotlin

Konstruktรถrer i Kotlin

Primรคr konstruktor: Optimerat sรคtt att initiera en klass

Syntax:

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

Sekundรคr konstruktor: Hjรคlper till att lรคgga till initieringslogik

Kotlin Arv

Arv uppstรฅr nรคr vissa egenskaper i moderklassen fรถrvรคrvas av den underordnade klassen. Arv รคr tillรฅtet nรคr tvรฅ eller flera klasser har samma egenskaper.

Syntax:

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

Abstrakt klass i Kotlin

En abstrakt klass รคr en klass som inte kan instansieras, men vi kan รคrva underklasser frรฅn dem. Nyckelordet 'abstract' anvรคnds fรถr att deklarera en abstrakt klass.

Till exempel 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() 
} 

Produktion:

Abstrakt klass i Kotlin

Kotlins nutid och framtid

Nuet:

  • Mรฅnga fรถretag gillar Netflix, Pinterest och Corda anvรคnder Kotlin fรถr att skapa kraftfulla Android appar.
  • Pรฅ kort tid pรฅ ett รฅr, 2016 till 2017, blev Kotlin mycket populรคr med fantastiska programmeringsfunktioner.
  • 2017 tillkรคnnagav Google Kotlin som ett officiellt programmeringssprรฅk fรถr Android-utveckling.
  • Du kan snabbt byta ut Java kod med Kotlin eftersom den รคr 100 % interoperabel med Java och Android.

Framtiden:

  • Spelutveckling รถver plattformar
  • Utveckling av plattformsoberoende mobilappar
  • Skript och mikrotjรคnster pรฅ tjรคnstesidan
  • Maskininlรคrning & dataanalys

Sammanfattning

  • Kotlin รคr ett programmeringssprรฅk som fรถreslagits av JetBrains 2010 fรถr appar med flera plattformar under Apache 2.0-licensen.
  • Namnet Kotlin kommer frรฅn namnet Kotlin Island i en liknande korrespondens av Java efter namnet pรฅ en รถ som heter java.
  • Under 2016 lanserades Kotlins fรถrsta version v1.0
  • Kotlin-program krรคver inte semikolon i sina program. Detta gรถr koden lรคtt och mer lรคsbar.
  • Kotlin fรถr Android developers รคr ett OOPs-baserat programmeringssprรฅk dรคr kodlinjen kan trimmas upp till 40 %, vilket gรถr Kotlin till ett idealiskt val fรถr mjukvara eller webbutveckling.
  • I Kotlin ska alla variabler deklareras med nyckelord var och val.
  • I likhet med andra programmeringssprรฅk har Kotlin ocksรฅ sin fรถrdefinierade uppsรคttning datatyper som Int, Boolean, Char, DoubleEtc.
  • I Kotlin finns det en uppsรคttning operatorer som anvรคnds i olika operationer som aritmetiska operationer, tilldelningsoperationer, jรคmfรถrelseoperationer, etc.
  • I Kotlin รคr arrayer ett fรถrรคnderligt samarbete av samma datatyper snarare รคn att vara infรถdda datatyper.
  • I Kotlin definieras arrayer med tvรฅ metoder โ€“ ArrayOF () och Constructors.
  • Kotlin รคr ett nollsรคkerhetssprรฅk som hjรคlper till att ta bort nollpekarens undantag eller nollreferens frรฅn koden, som medvetet kallas A Billjon Dollar Misstag.

Sammanfatta detta inlรคgg med: