English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Kotlin Funktionen

In diesem Artikel werden Sie Funktionen kennenlernen. Was ist eine Funktion, ihre Syntax und wie man benutzerdefinierte Funktionen in Kotlin erstellt.

In der Programmierung ist eine Funktion eine Gruppe von zusammenhängenden Anweisungen, die eine spezifische Aufgabe ausführen.

Funktionen werden verwendet, um große Programme in kleinere modulare Blöcke zu zerlegen. Zum Beispiel müssen Sie auf die Eingaben des Benutzers reagieren, um Kreise zu erstellen und zu färben. Sie können zwei Funktionen erstellen, um dieses Problem zu lösen:

  • Die Funktion createCircle() - Wird verwendet, um Kreise zu erstellen

  • Die Funktion colorCircle() - Wird verwendet, um Farben zu füllen

Durch Aufteilen komplexer Programme in kleinere Komponenten wird unser Programm besser strukturiert und einfacher zu verwalten.

Darüber hinaus vermeidet es Duplikate und macht den Code wiederverwendbar.

Funktionstyp

Es gibt zwei Arten von Funktionen je nachdem, ob es sich um eine benutzerdefinierte Funktion oder eine Standardbibliotheksfunktion handelt:

  • Kotlin Standardbibliotheksfunktionen

  • Benutzerdefinierte Funktionen

Kotlin Standardbibliotheksfunktionen

Standardbibliotheksfunktionen sind in Kotlin eingebaute Funktionen, die jederzeit verwendet werden können. Zum Beispiel:

  • print() ist eine Bibliotheksfunktion, die Nachrichten auf die Standardausgabe (Monitor) schreibt.

  • sqrt() gibt die Quadratwurzel eines numerischen Wertes (Double-Wert) zurück

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

Wenn das Programm ausgeführt wird, lautet die Ausgabe:

Ergebnis = 2.345207879911715

Das istKotlin StandardbibliothekVerknüpfungen, um zu durchsuchen.

Benutzerdefinierte Funktionen

Wie bereits erwähnt, können Sie selbst Funktionen erstellen. Diese Funktionen werden als benutzerdefinierte Funktionen bezeichnet.

Wie erstellt man in Kotlin benutzerdefinierte Funktionen?

Bevor Sie eine Funktion (Aufruf) verwenden, müssen Sie sie zunächst definieren.

So definiert man eine Funktion in Kotlin:

fun callMe() {
    //Funktionshauptteil
}

Um eine Funktion in Kotlin zu definieren, verwenden Sie den Schlüsselwort 'fun'. Danach folgt der Name der Funktion (Identifikator)。 Hier ist der Name der Funktion callMe.

In dem obigen Programm sind die Klammern ( ) leer. Dies bedeutet, dass diese Funktion keine Parameter akzeptiert. Sie werden im späteren Teil des Artikels mehr über Parameter erfahren.

Der Code innerhalb der eckigen Klammern { } ist der Hauptteil der Funktion.

Wie ruft man eine Funktion auf?

Sie müssen diese Funktion aufrufen, um Code im Funktionskörper auszuführen. Hier ist, wie man das macht:

callme()

Diese Anweisung ruft die zuvor erklärte Funktion callMe() auf.

Beispiel: einfaches Funktionsprogramm

fun callMe() {
    println("Druckt von der Funktion callMe() aus.")
    println("Das ist cool (und druckt noch innen heraus).")
}
fun main(args: Array<String>) {
    callMe()
    println("Druckt von der Funktion callMe() extern aus.")
}

Wenn das Programm ausgeführt wird, lautet die Ausgabe:

Druckt von der Funktion callMe() aus.
Das ist cool (und druckt noch innen heraus).
Druckt von der Funktion callMe() extern aus.

Die Funktion callMe() in dem obigen Code akzeptiert keine Parameter.

Außerdem gibt die Funktion keinen Wert zurück (Rückgabetyp ist Unit).

Lassen Sie uns einen anderen Funktionsbeispiel betrachten. Diese Funktion akzeptiert Parameter und gibt einen Wert zurück.

Beispiel: Zwei Zahlen mit einer Funktion addieren

fun addNumbers(n1: Double, n2: Double): Int {
    val sum = n1 + n2
    val sumInteger = sum.toInt()
    return sumInteger
}
fun main(args: Array<String>) {
    val number1 = 12.2
    val number2 = 3.4
    val result: Int
    result = addNumbers(number1, number2)
    println("result = $result")
}

Wenn das Programm ausgeführt wird, lautet die Ausgabe:

result = 15

Wie funktionieren Funktionen mit Parametern und Rückgabewerten?

Hier, während der Funktion Aufruf, werden zwei Double-Typ-Parameter number1und number2an die Funktion addNumbers() übergeben. Diese Parameter werden als tatsächliche Parameter (oder Realparameter) bezeichnet.

result = addNumbers(number1, number2)

Parameter n1und n2akzeptieren übergebene Parameter (im Funktionsdefinitionen). Diese Parameter werden als formelle Parameter (oder Formelparameter) bezeichnet.

In Kotlin werden die Parameter durch Kommata getrennt. Ebenso müssen die Typen der formellen Parameter explizit angegeben werden.

Beachten Sie, dass die Datenarten der tatsächlichen Parameter und der Formellen Parameter übereinstimmen sollten, d.h. die Datenart des ersten tatsächlichen Parameters sollte mit der des ersten formellen Parameters übereinstimmen. Ebenso muss die Art des zweiten tatsächlichen Parameters mit der des zweiten formellen Parameters übereinstimmen und so weiter.

Hier,

return sumInteger

ist der return-Ausdruck. Dieser Code beendet die Funktion addNumbers(), und der Programmkontrollfluss springt zur Funktion main().

In dem Programm wird sumInteger von der Funktion addNumbers() zurückgegeben. Dieser Wert wird der Variable result zugewiesen.

Beachten Sie,

  • sumInteger und result sind beide Int-Typen.

  • Der Rückgabetyp der Funktion wird in der Funktionsdefinition angegeben.

    //Rückgabetyp ist Int
    fun addNumbers(n1: Double, n2: Double): Int {
        ... .. ...
    }

Wenn eine Funktion keinen Wert zurückgibt, ist ihr Rückgabetyp Unit. Wenn der Rückgabetyp Int ist, kann der Rückgabetyp in der Funktionsdefinition angegeben werden.

Beispiel: Namen mit einer Funktion anzeigen

fun main(args: Array<String>) {
    println(getName("John", "Doe"))
}
fun getName(firstName: String, lastName: String): String = "$firstName $lastName"

Wenn das Programm ausgeführt wird, lautet die Ausgabe:

John Doe

Hier akzeptiert die Funktion getName() zwei String-Parameter und gibt String zurück.

Wenn eine Funktion einen einzelnen Ausdruck zurückgibt (wie im obigen Beispiel gezeigt), können die geschweiften Klammern {} des Funktionskörpers weggelassen werden und das Hauptthema nach dem = Symbol angegeben werden.

In diesem Fall ist die explizite Angabe des Rückgabetyps optional, da der Compiler den Rückgabetyp推断出来. In den obigen Beispielen können Sie dies ersetzen.

fun getName(firstName: String, lastName: String): String = "$firstName $lastName"

Äquivalent zu:

fun getName(firstName: String, lastName: String) = "$firstName $lastName"

Dieser Artikel ist eine kurze Einführung in die Funktionen in Kotlin.