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.
- Fรถr att ladda ner Eclipse, Klicka hรคr.
- Fรถr att ladda ner NetBeans, Klicka hรคr.
- Fรถr att ladda ner IntelliJ, Klicka hรคr.
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.
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.
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.
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.
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.
Nu mรฅste du definiera ett namn fรถr projektet och du รคr redo att arbeta med Kotlin.
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.

I arkitekturdiagrammet รคr det tydligt att kodexekvering sker i tre enkla steg.
- I det fรถrsta steget lรคggs ".kt" eller kotlin-fil till i kompilatorn.
- I det andra steget konverterar Kotlin-kompilatorn koden till bytekod.
- 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
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 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 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
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:
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:
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.










