Kotlin-Funktion (mit Beispiel)

Inhaltsverzeichnis

In diesem Artikel erfahren Sie mehr über Funktionen. Was sind Funktionen, ihre Syntax und wie erstellt man eine Benutzerfunktion in Kotlin?

Bei der Programmierung ist function eine Gruppe verwandter Anweisungen, die eine bestimmte Aufgabe ausführen.

Funktionen werden verwendet, um ein großes Programm in kleinere und modulare Blöcke zu unterteilen. Beispielsweise müssen Sie einen Kreis basierend auf den Eingaben des Benutzers erstellen und einfärben. Sie können zwei Funktionen erstellen, um dieses Problem zu lösen:

  • createCircle() Funktion
  • colorCircle() Funktion

Durch die Aufteilung eines komplexen Programms in kleinere Komponenten wird unser Programm organisierter und übersichtlicher.

Darüber hinaus werden Wiederholungen vermieden und Code wiederverwendbar.

Arten von Funktionen

Abhängig davon, ob eine Funktion vom Benutzer definiert oder in der Standardbibliothek verfügbar ist, gibt es zwei Arten von Funktionen:

  • Kotlin Standard Library Funktion
  • Benutzerdefinierte Funktionen

Kotlin Standard Library Funktion

Die Standardbibliotheksfunktionen sind in Kotlin integrierte Funktionen, die zur Verfügung stehen. Beispielsweise,

  • print() ist eine Bibliotheksfunktion, die Nachrichten an den Standardausgabestream (Monitor) druckt.
  • sqrt()Gibt die Quadratwurzel einer Zahl ( DoubleWert) zurück.
 fun main(args: Array) ( var number = 5.5 print("Result = $(Math.sqrt(number))") )

Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:

 Ergebnis = 2.345207879911715

Hier ist ein Link zur Kotlin Standard Library, den Sie erkunden können.

Benutzerdefinierte Funktionen

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

Wie erstelle ich eine benutzerdefinierte Funktion in Kotlin?

Bevor Sie eine Funktion verwenden (aufrufen) können, müssen Sie sie definieren.

So können Sie eine Funktion in Kotlin definieren:

 Spaß callMe () (// Funktionskörper) 

Um eine Funktion in Kotlin zu definieren, wird das funSchlüsselwort verwendet. Dann kommt der Name der Funktion (Bezeichner). Hier heißt die Funktion callMe.

Im obigen Programm ist die Klammer ( )leer. Dies bedeutet, dass diese Funktion kein Argument akzeptiert. Sie werden später in diesem Artikel mehr über Argumente erfahren.

Die Codes in geschweiften Klammern bilden ( )den Hauptteil der Funktion.

Wie rufe ich eine Funktion auf?

Sie müssen die Funktion aufrufen, um Codes im Hauptteil der Funktion auszuführen. Hier ist wie:

 rufen Sie mich an()

Diese Anweisung ruft die callMe()zuvor deklarierte Funktion auf.

Beispiel: Einfaches Funktionsprogramm

 fun callMe() ( println("Printing from callMe() function.") println("This is cool (still printing from inside).") ) fun main(args: Array) ( callMe() println("Printing outside from callMe() function.") )

Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:

Drucken mit der Funktion callMe (). Das ist cool (druckt immer noch von innen). Drucken außerhalb der Funktion callMe ().

Die callMe()Funktion im obigen Code akzeptiert kein Argument.

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

Nehmen wir ein weiteres Funktionsbeispiel. Diese Funktion akzeptiert Argumente und gibt auch einen Wert zurück.

Beispiel: Fügen Sie mit der Funktion zwei Zahlen hinzu

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

Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:

 Ergebnis = 15

Wie funktionieren Funktionen mit Argumenten und Rückgabewert?

Hier Doublewerden addNumbers()beim Funktionsaufruf zwei Argumente vom Typ Nummer 1 und Nummer 2 an die Funktion übergeben. Diese Argumente werden als tatsächliche Argumente bezeichnet.

 Ergebnis = addNumbers (Nummer1, Nummer2)

Die Parameter n1 und n2 akzeptieren die übergebenen Argumente (in der Funktionsdefinition). Diese Argumente werden als formale Argumente (oder Parameter) bezeichnet.

In Kotlin, arguments are separated using commas. Also, the type of the formal argument must be explicitly typed.

Note that, the data type of actual and formal arguments should match, i.e., the data type of first actual argument should match the type of first formal argument. Similarly, the type of second actual argument must match the type of second formal argument and so on.

Here,

 return sumInteger

is the return statement. This code terminates the addNumbers() function, and control of the program jumps to the main() function.

In the program, sumInteger is returned from addNumbers() function. This value is assigned to the variable result.

Notice,

  • both sumInteger and result are of type Int.
  • the return type of the function is specified in the function definition.
     // return type is Int fun addNumbers(n1: Double, n2: Double): Int (… )

If the function doesn't return any value, its return type is Unit. It is optional to specify the return type in the function definition if the return type is Unit.

Example: Display Name by Using Function

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

When you run the program, the output will be:

 John Doe

Here, the getName() function takes two String arguments, and returns a String.

You can omit the curly braces ( ) of the function body and specify the body after = symbol if the function returns a single expression (like above example).

It is optional to explicitly declare the return type in such case because the return type can be inferred by the compiler. In the above example, you can replace

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

mit

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

Dies ist nur eine kurze Einführung in die Funktionen in Kotlin. Empfohlene Artikel zu Funktionen:

  • Kotlin Inline-Funktionen
  • Kotlin-Infix-Funktionen
  • Kotlin Funktionsumfang
  • Kotlin Standard- und benannte Argumente
  • Kotlin Rekursion
  • Kotlin Tail Rekursive Funktion
  • Kotlin-Erweiterungsfunktion
  • Kotlin Funktionen höherer Ordnung & Lambdas

Interessante Beiträge...