Sök…


Introduktion

Detta ämne täcker grunderna i Kotlin för nybörjare.

Anmärkningar

  1. Kotlin-filen har en förlängning .kt.
  2. Alla klasser i Kotlin har en gemensam superklass Alla, som är en standardsuper för en klass utan några supertyper deklarerade (liknande objekt i Java).
  3. Variabler kan deklareras som val (immutable-tilldela en gång) eller var (mutables-värde kan ändras)
  4. Semikolon behövs inte i slutet av uttalandet.
  5. Om en funktion inte returnerar något användbart värde, är dess returtyp Enhet. Det är också valfritt. 6.Referensiell jämställdhet kontrolleras av operationen ===. a === b utvärderar till true om och bara om a och b pekar på samma objekt.

Grundläggande exempel

1. Enhetens returtypdeklaration är valfri för funktioner. Följande koder är likvärdiga.

    fun printHello(name: String?): Unit {
        if (name != null)
            println("Hello ${name}")
    }
    
    fun printHello(name: String?) {
        ...
    }

2.Single-Expression-funktioner: När en funktion returnerar ett enda uttryck kan de lockiga hängslen utelämnas och kroppen anges efter = symbol

  fun double(x: Int): Int = x * 2

Att uttryckligen förklara returtypen är valfri när detta kan sluts av kompilatorn

  fun double(x: Int) = x * 2

3.String-interpolering: Det är enkelt att använda strängvärden.

In java:
    int num=10
    String s  = "i =" + i;

In Kotlin
    val num = 10
    val s = "i = $num"

4.I Kotlin skiljer typsystemet mellan referenser som kan hålla noll (nollbara referenser) och de som inte kan (icke-noll-referenser). Till exempel kan en vanlig variabel av typen String inte hålla noll:

var a: String = "abc"
a = null // compilation error

För att tillåta noll, kan vi förklara en variabel som nullable sträng, skriven String ?:

var b: String? = "abc"
b = null // ok

5.I Kotlin kontrollerar == faktiskt för jämställdhet. Genom konvention översätts ett uttryck som a == b till

   a?.equals(b) ?: (b === null)


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow