Defer-Schlüsselwort in Golang

In Go verzögern Defer-Anweisungen die Ausführung einer Funktion, Methode oder anonymen Methode, bis die umgebende Funktion zurückkehrt. Anders ausgedrückt: Die Argumente der Defer-Funktion oder -Methode werden sofort ausgewertet, aber erst ausgeführt, wenn die umgebende Funktion zurückkehrt. Mit dem Schlüsselwort defer können Sie eine verzögerte Methode, Funktion oder anonyme Funktion erstellen.

Defer-Schlüsselwort in Golang

Syntax:

// Hàm
defer func func_name(parameter_list Type)return_type{
// Code
}

// Phương thức
defer func (receiver Type) method_name(parameter_list){
// Code
}

defer func (parameter_list)(return_type){
// code
}()

Wichtiger Hinweis:

  • In der Sprache Go sind mehrere Defer-Anweisungen im selben Programm zulässig und werden in der LIFO-Reihenfolge (Last-In, First-Out) ausgeführt, wie in Beispiel 2 gezeigt.
  • In Defer-Anweisungen werden die Argumente ausgewertet, wenn die Defer-Anweisung ausgeführt wird, und nicht, wenn sie aufgerufen wird.
  • Defer-Anweisungen werden häufig verwendet, um sicherzustellen, dass Dateien geschlossen werden, wenn sie nicht mehr benötigt werden, um Kanäle zu schließen oder um Probleme im Programm zu erkennen.

Zum besseren Verständnis sehen wir uns nun ein Beispiel an.

Beispiel 1:

// Chương trình Go minh họa
// khái niệm của lệnh defer
package main

import "fmt"

// Các hàm
func mul(a1, a2 int) int {

	res := a1 * a2
	fmt.Println("Result: ", res)
	return 0
}

func show() {
	fmt.Println("Hello!, Quantrimang.com")
}

// Hàm chính
func main() {

	// Gọi hàm mul() 
	// Tại đây hàm mul hoạt động
	// như một hàm bình thường
	mul(23, 45)

	// Gọi hàm mul()
	// Dùng từ khóa defer 
	// Hàm the mul() 
	// là hàm defer
	defer mul(23, 56)

	// Gọi hàm show() 
	show()
}

Ergebnis:

Result:  1035
Hello!, Quantrimang.com
Result:  1288

Erklärung: Im obigen Beispiel haben wir zwei Funktionen namens mul() und show() . Während die Funktion show() normal in der Funktion main() aufgerufen wird , wird die Funktion mul() auf zwei verschiedene Arten aufgerufen:

  • Zuerst rufen wir die Funktion „mul“ normal auf (ohne das Schlüsselwort „defer“), also mul(23, 45), und sie wird ausgeführt, wenn die Funktion aufgerufen wird (Ausgabe: Ergebnis: 1035).
  • Zweitens rufen wir die Funktion mul() als Defer-Funktion mit dem Schlüsselwort defer auf, d. h. defer mul(23, 56), und sie wird ausgeführt (Ausgabe: Ergebnis: 1288), wenn alle umgebenden Methoden zurückkehren.

Beispiel 2:

// Minh họa chương trình Go
// dùng nhiều lệnh defer, để minh họa chính sách LIFO 
package main

import "fmt"

// Các hàm
func add(a1, a2 int) int {
	res := a1 + a2
	fmt.Println("Result: ", res)
	return 0
}

// Hàm chính
func main() {

	fmt.Println("Start")

	// Nhiều lệnh defer
	// Triển khai theo thứ tự LIFO 
	defer fmt.Println("End")
	defer add(34, 56)
	defer add(10, 10)
}

Ergebnis:

Start
Result:  20
Result:  90
End
Sign up and earn $1000 a day ⋙

Leave a Comment

Schlüsselwörter in Go

Schlüsselwörter in Go

Schlüsselwörter – Schlüsselwörter sind Wörter in einer Sprache, die für interne Prozesse verwendet werden oder vordefinierte Aktionen darstellen. Hier erfahren Sie, was Sie über Schlüsselwörter in Golang wissen müssen.

Datentypen in Golang

Datentypen in Golang

Datentypen geben an, welche Art von Daten eine gültige Go-Variable enthalten kann. In der Sprache Go werden Typen in vier Kategorien unterteilt:

Funktionsargumente in Golang

Funktionsargumente in Golang

Go unterstützt zwei Hauptmethoden zur Argumentübergabe: Übergabe per Wert und Übergabe per Referenz. Go verwendet standardmäßig die Übergabe per Wert.

Funktion, die mehrere Werte in Golang zurückgibt

Funktion, die mehrere Werte in Golang zurückgibt

In der Sprache Go können Sie mithilfe der return-Anweisung mehrere Werte aus einer Funktion zurückgeben. Mit anderen Worten: In einer Funktion kann eine return-Anweisung mehrere Werte zurückgeben.

Switch-Anweisung in Go

Switch-Anweisung in Go

Golang verfügt wie die meisten anderen Programmiersprachen über Switch-Anweisungen. Hier erfahren Sie, wie Sie die Switch-Anweisung in Golang verwenden.

Zu kennende Fälle bei der Verwendung von Auswahlanweisungen in Golang

Zu kennende Fälle bei der Verwendung von Auswahlanweisungen in Golang

In diesem Artikel erfahren Sie, wie Sie den Standardfall verwenden, um Deadlocks zu vermeiden. Zunächst erfahren Sie jedoch, was ein Deadlock-Fall bei der Verwendung des Select-Befehls in Golang ist.

Anonyme Strukturen und Felder in Golang

Anonyme Strukturen und Felder in Golang

Anonyme Strukturen in Golang sind temporäre Strukturen ohne Namen, die für einmalige Zwecke verwendet werden, während anonyme Felder das Einbetten unbenannter Felder ermöglichen.

So verwenden Sie Rune in Golang

So verwenden Sie Rune in Golang

Was ist Rune in Golang? Wie verwendet man Rune in Golang? Dieser Artikel gibt Ihnen die Antwort.

So verwenden Sie Operatoren in Golang

So verwenden Sie Operatoren in Golang

Operatoren ermöglichen es uns, verschiedene Arten von Operationen an Operanden durchzuführen. In der Programmiersprache Go können Operatoren anhand ihrer unterschiedlichen Funktionen klassifiziert werden.

Ungültiger Bezeichner in Golang

Ungültiger Bezeichner in Golang

_ (Unterstrich) wird in Golang als leerer Bezeichner bezeichnet. Ein Bezeichner ist ein benutzerdefinierter Name von Programmelementen, der zu Identifikationszwecken verwendet wird.

So erstellen Sie ein Basisprogramm in Golang

So erstellen Sie ein Basisprogramm in Golang

„Hallo Welt!“ ist das erste einfache Programm in einer Programmiersprache. Sie können dieses erste Programm in Golang schreiben, indem Sie die folgenden Schritte befolgen.

So installieren Sie Go unter Windows

So installieren Sie Go unter Windows

Golang lässt sich problemlos unter Windows installieren. Hier finden Sie eine Schritt-für-Schritt-Anleitung zur Installation von Golang unter Windows.

Methoden mit dem gleichen Namen in Golang

Methoden mit dem gleichen Namen in Golang

Golang ermöglicht das Erstellen von zwei oder mehr Methoden mit demselben Namen im selben Paket, aber die Empfänger dieser Methoden müssen unterschiedlichen Typs sein.

Funktionen in Go

Funktionen in Go

In Go sind Funktionen Codeblöcke, die bestimmte Aufgaben ausführen und im gesamten Programm wiederverwendet werden können, um Speicher zu sparen, die Lesbarkeit zu verbessern und Zeit zu sparen.

Variablenumfang in Go

Variablenumfang in Go

Der Gültigkeitsbereich einer Variable in Golang bestimmt, für welchen Teil des Programms die Variable zugänglich ist. In Go haben alle Bezeichner einen lexikalischen Gültigkeitsbereich, der zur Kompilierzeit festgelegt wird.

ChatGPT stürzt weltweit ab

ChatGPT stürzt weltweit ab

Am Morgen des 22. November kam es beim Chatbot ChatGPT von OpenAI zu weitreichenden Problemen und viele Benutzer auf der ganzen Welt konnten diese KI-Anwendung nicht verwenden.

So verwenden Sie den WiFi Analyzer, um Ihre WLAN-Verbindung zu verbessern

So verwenden Sie den WiFi Analyzer, um Ihre WLAN-Verbindung zu verbessern

Der Kauf eines neuen WLAN-Routers allein reicht nicht aus, um Ihr Netzwerk zu verbessern. Um das Beste aus Ihrem WLAN herauszuholen, müssen Sie sicherstellen, dass Sie die beste Reichweite, das beste Signal und die beste Frequenz erhalten.

Wege, wie der Körper mit uns kommuniziert, die oft übersehen werden

Wege, wie der Körper mit uns kommuniziert, die oft übersehen werden

Unser Körper ist eine Maschine, die ständig Signale und Botschaften sendet, aber wir achten selten darauf. Sehen wir uns an, was unser Körper uns mit den folgenden Signalen mitteilen möchte.

Die größten Landtiere der Welt

Die größten Landtiere der Welt

Welches ist das größte Tier der Welt? Dieser Artikel fasst die größten Landtiere für Sie zusammen.

Grundlegende Maßeinheiten in Computern

Grundlegende Maßeinheiten in Computern

Bit steht für Binary Digit (Binärziffer). Dies ist die Bezeichnung für den kleinsten Teil des Computerspeichers, der einen von zwei Informationszuständen speichern kann: 0 oder 1 (was als Ein- oder Aus-Zustand eines Transistors in einem Computer verstanden werden kann).

So verbessern Sie Ihre Notizgewohnheiten mit Erinnerungen

So verbessern Sie Ihre Notizgewohnheiten mit Erinnerungen

Eine gute Gedächtnisgewohnheit beginnt mit Erinnerungen – sie kommen zum richtigen Zeitpunkt, um diese flüchtigen Gedanken festzuhalten.

7 kostenlose Apps, die Ihre Smartphone-Fotos sofort verbessern

7 kostenlose Apps, die Ihre Smartphone-Fotos sofort verbessern

Es gibt immer noch viele kostenlose und leistungsstarke Fototools, mit denen Sie Ihre Fotos verbessern können.

Tricks, um das Google-Such-Widget nützlicher zu machen

Tricks, um das Google-Such-Widget nützlicher zu machen

Das Google-Such-Widget bietet Ihnen schnellen Zugriff auf die Google-Suche und den Discover-Feed sowie auf die Sprachsuche und Google Lens.

So melden Sie sich an und deaktivieren die Erinnerung an den Ablauf des Passworts

So melden Sie sich an und deaktivieren die Erinnerung an den Ablauf des Passworts

Wenn auf dem Windows-Anmeldebildschirm die Meldung „Ihr Kennwort ist abgelaufen und muss geändert werden“ angezeigt wird, liegt das daran, dass Kennwörter für lokale Windows-Konten standardmäßig alle 42 Tage ablaufen.

So konvertieren Sie WebP-Bilder in PNG, JPG auf Chrome, Coc Coc

So konvertieren Sie WebP-Bilder in PNG, JPG auf Chrome, Coc Coc

Um WebP-Bilder in die Formate PNG und JPG zu konvertieren, können wir dies auf viele verschiedene Arten tun, z. B. direkt über die Bild-URL oder mithilfe von Bildkonvertierungstools.

4 Möglichkeiten zur Verwendung des Canvas-Modus von ChatGPT

4 Möglichkeiten zur Verwendung des Canvas-Modus von ChatGPT

Der neue Canvas-Modus von ChatGPT fügt dem Schreiben und Bearbeiten in der weltweit führenden generativen KI-Engine eine neue Dimension hinzu.

Was die Leute an KI-Bildbearbeitungsprogrammen am meisten nicht mögen

Was die Leute an KI-Bildbearbeitungsprogrammen am meisten nicht mögen

KI-Bildbearbeitungsprogramme können Ihren Bearbeitungsablauf zwar deutlich vereinfachen, sind aber nicht perfekt. Es gibt einige Dinge, die Nutzer an ihnen nicht mögen. Im heutigen Artikel erfahren Sie, welche das sind.

Behebung, dass Apps im Google Play Store nicht automatisch aktualisiert werden

Behebung, dass Apps im Google Play Store nicht automatisch aktualisiert werden

Wenn der Play Store Apps nicht automatisch aktualisiert, riskieren Nutzer, neue Funktionen, Sicherheitspatches und Fehlerbehebungen zu verpassen. Glücklicherweise können Sie den Google Play Store mit diesen Schritten so konfigurieren, dass Ihre Apps automatisch aktualisiert werden.

Anweisungen zum Senden von Dateien über Messenger auf Telefon und Computer

Anweisungen zum Senden von Dateien über Messenger auf Telefon und Computer

Neben dem Senden von Fotos über Messenger können Benutzer jetzt auch Dateien über die Anwendung an andere senden, und zwar in allen Dokumentdateiformaten wie PDF, DOC, XLX usw.

So fügen Sie in CapCut automatisch Untertitel und Liedtexte hinzu

So fügen Sie in CapCut automatisch Untertitel und Liedtexte hinzu

CapCut bietet auch die Möglichkeit, Videountertitel einzufügen, wie einige bekannte Anwendungen für Videountertitel. Die Anwendung erkennt dann automatisch Ton und Stimme im Video und zeigt sie im Video an.