Kotlin -Umfangsfunktionen

Kotlin -Umfangsfunktionen
Wenn wir einen Lambda -Ausdruck verwenden, um Methoden auf ein Objekt aufzurufen, wird der temporäre Bereich erzeugt. In dem Artikel werden wir das Konzept der Umfangsfunktionen diskutieren. Die Umfangsfunktionen sind der Name für diese Funktionen. Die Objekte dieser Funktionen sind zugänglich, ohne ihre Namen zu kennen.

Was sind die Arten von Bereichsfunktionen in Kotlin??

Umfangsfunktionen machen unseren Code viel lesbarer, prägnanter und unkomplizierter, die alle wichtige Attribute der Kotlin -Programmiersprache sind. Wenn wir die Umfangsfunktion nicht verwenden, müssen wir jedes Mal, wenn wir uns auf ein Klassenmitglied beziehen möchten, den Namen des Objekts eingeben. Wir können uns jedoch auf Mitglieder verweisen, ohne den Objektnamen anzugeben, wenn wir die Umfangsfunktion verwenden. Wir haben im Allgemeinen fünf Bereichsfunktionen, die alle mit geringfügigen Unterschieden sehr ähnlich sind.

  1. lassen
  2. laufen
  3. anwenden
  4. mit
  5. Auch

So verwenden Sie die Kotlin Scope -Funktionen?

Um die Grundlagen der Verwendung der verschiedenen Bereichsfunktionen in der Kotlin -Sprache zu verstehen, sollten Sie sich die folgenden Beispiele ansehen:

Beispiel Nr. 1: Verwenden der Funktion „LET“ in Kotlin

Die LET-Funktion wird häufig verwendet, um einen Codeblock nur mit Nicht-Null-Werten auszuführen. Wir müssen den Sicherheitsbetreiber benutzen “?.”Auf einem Nicht-Null-Objekt. Verwenden wir die LET -Funktion im folgenden Code.

Wir haben die Hauptfunktion. Im Hauptfunktionsblock haben wir eine Variable als Schlüsselwort „Val“ und definiert als „STR1“ . Die mit der Eigenschaft und des Sicherheitsnullbetreibers int Type und Sicherheitsanbieters festgelegte Variable "Str1" wird überprüft, ob der Wert null ist oder nicht. Da wir die Variable „str1“ mit dem Ganzzahlwert initialisiert haben, der nicht null ist. Dann müssen wir die Let -Funktion für "Str1" verwenden. Im LET -Funktionsblock haben wir ein Schlüsselwort „IT“ als Parameter in Println -Funktion übergeben, das als Kontextobjekt fungiert. Danach haben wir eine andere Variable als „STR2“ und eine Eigenschaft vom String -Typ. Der Null -Sicherheitsbetreiber wird auch hier verwendet, um die Nullbarkeit zu überprüfen. Das „STR2“ wird mit dem String -Wert deklariert. Verwenden Sie nun die LET -Funktion, die "str2" -Werte zurückgibt, da sie nicht null ist. Hier haben wir einfach „Str2“ an die Println -Funktion übergeben.

Die Ausgabe der Verwendung der LET -Funktion wird auf dem folgenden Bildschirm angezeigt.

Beispiel Nr. 2: Verwenden der Funktion „Anwenden“ in Kotlin

Die Antragsfunktion wird verwendet, um an Empfängerobjektmitgliedern in erster Linie zu arbeiten, um sie zu initialisieren. Die Funktion anwenden auf Codeblöcke, die ein Objekt selbst zurückgeben, und das Schlüsselwort „Dies“ ist hier das Kontextobjekt.

Im obigen Code haben wir eine Klasse „Mitarbeiter“ erstellt, in der wir LateInit -Variablen definiert haben. Die LateInit -Variable ist eine Variable, die spät initialisiert wird. Wir haben drei späte Variablen für die Klasse "Mitarbeiter" als "Empname", "EmpContact" und "EmpDept" und setzen Sie die Eigenschaft Typtyp für diese definierten Variablen. Anschließend müssen wir die Hauptfunktion aufrufen, in der wir die Funktion anwenden haben. In der Funktion anwenden haben wir das Schlüsselwort "this" mit der Variablen "Empname" verwendet. Das Schlüsselwort "this" dient als Objektreferenz und enthält die Zeichenfolge als Initialisierungswert. Wir haben auch die Variablen „empcontact“ und „empdept“ mit den jeweiligen Werten initialisiert. Das Schlüsselwort "This" funktioniert genauso wie die andere im Code deklarierte Variable. Durch die Println -Funktion haben wir die gedruckten Werte.

Die Ausgabe der Anwendungsfunktion ist auf dem Terminalbildschirm angezeigt.

Beispiel Nr. 3: Verwenden Sie die Funktion „mit“ Umfang in Kotlin

Wenn Sie Funktionen auf Kontextobjekten aufrufen, ohne das Lambda -Ergebnis zu geben, wird die Verwendung von „mit“ Funktionen empfohlen.

Wir haben eine Klasse „Person“, in der wir die LateInit -Variablen definiert haben. Den Variablen wird ein Name "Name" und "Alter" zugewiesen und die STRING -TYPE -Eigenschaft festgelegt. Dann haben wir die Hauptfunktion, in der wir ein Objekt mit dem Namen "P1" erstellt haben. Das Objekt "P1" ruft die Funktion an,. In der Funktion anwenden haben wir die Variable „Name“ und „Alter“ mit den Werten initialisiert. Danach haben wir die Funktion "mit" aufgerufen und ein Objekt "p1" als Parameter übergeben. Beachten Sie, dass wir in der Println -Funktion nicht "$ name" und "$ ay" verwendet haben, weil er überflüssig wäre "P1" -Objekt.

Auf dem folgenden Terminalbildschirm wird die Ausgabe gedruckt.

Beispiel Nr. 4: Verwenden der Funktion „Run“ -Drosseligkeit in Kotlin

Die Funktion "Run" ist identisch mit den Funktionen "Let" und "mit" Funktionen. Wenn das Objekt -Lambda sowohl die Objektinitialisierung als auch die Rückgabe der Wertverarbeitung umfasst, ist die Funktion „Run“ nützlich.

Im obigen Code haben wir eine Klasse namens "Lehrer", in der wir Variablen als "Name", "Telefon" und "Thema" definiert haben. Dann haben wir in der Hauptfunktion ein Objekt als „Lehrer“, das die Funktion anwenden. Beachten Sie, dass wir keinen Objektnamen verwendet haben, um sich auf die Klassenmitglieder zu beziehen und diese mit den Werten zu initialisieren. Danach haben wir die Run-Funktion aufgerufen, die als Nichtverwalter-Run-Funktion bezeichnet wird, da kein Empfängerobjekt an sie übergeben wird.

Die Ausgabe der Nichtverbrauchslauffunktion ist im folgenden Bild gezeigt.

Beispiel Nr. 5: Verwenden der Funktion "auch" Umfang in Kotlin

Die Funktion „auch“ ist vergleichbar mit der Funktion „Let“, außer dass sie sich auf den Kontext des Objekts als „IT“ anstatt auf „dieses“ bezieht und Null -Sicherheitsüberprüfungen liefert.

Im obigen Code haben wir eine Hauptfunktion, in der wir eine Variable als "Val" mit dem Namen "MyList" deklarieren. Die Variable „MyList“ enthält die Werteliste mit der Mutablelistof -Funktion. Wir haben die Funktion "auch" für die Variable "MyList" bezeichnet. Im Block "auch" haben wir das Schlüsselwort "IT" mit der Funktion hinzufügen und einen Wert daran übergeben. Dann müssen wir das Schlüsselwort „IT“ erneut mit der Funktion entfernen und einen Wert übergeben, den wir entfernen möchten. Über die Println -Funktion werden die aktualisierten Listenwerte angezeigt.

Die folgende Ausgabe zeigt, dass die Liste aktualisiert wurde.

Abschluss

Wir haben die Umfangsfunktionen ausführlich durch die nachgewiesenen Ergebnisse des vorherigen Beispiels durchgesehen. Alle diese Illustrationen sind einfach und laufen auf Ubuntu 20.04, und sie helfen Ihnen beim Lernen, wie Sie die Umfangsfunktionen verwenden.