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

So verwenden Sie Konstanten in Golang

So verwenden Sie Konstanten in Golang

Was ist eine Konstante oder Konstante in Golang? Hier erfahren Sie, was Sie über die Verwendung von Konstanten in Go wissen müssen.

Volatile Funktionen in Golang

Volatile Funktionen in Golang

Mit variadischen Funktionen in Go können Sie einer Funktion eine variable Anzahl von Argumenten übergeben. Hier erfahren Sie alles, was Sie über variadische Funktionen in Golang wissen müssen.

Benannte Rückgabeparameter in Golang

Benannte Rückgabeparameter in Golang

In Golang werden benannte Rückgabeparameter oft als benannte Parameter bezeichnet. Golang ermöglicht die Benennung der Rückgabeparameter oder Ergebnisse von Funktionen in der Funktionssignatur oder -definition.

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.

Einfache Möglichkeit, einen plötzlichen Computerabsturz zu beheben

Einfache Möglichkeit, einen plötzlichen Computerabsturz zu beheben

Wenn Sie den Computer verwenden und er sich plötzlich ausschaltet, fragen Sie sich, was mit Ihrem Computer nicht stimmt? Dieser Artikel zeigt Ihnen, wie Sie diesen Fehler beheben.

Teslaspule kann Strom entladen und singen

Teslaspule kann Strom entladen und singen

Die Teslaspule ist ein Resonanztransformatorkreis und eine berühmte Erfindung des genialen Nikola Tesla. Sie wird zur Erzeugung von Wechselstrom mit hoher Spannung, niedriger Intensität und hoher Frequenz verwendet. Sie entlädt nicht nur Strom, sondern bringt Teslaspulen mit Intelligenz und Kreativität auch zum Singen.

Transport eines 220 Tonnen schweren antiken Gebäudes mit 700 Stück Seife

Transport eines 220 Tonnen schweren antiken Gebäudes mit 700 Stück Seife

Anfang Dezember konnte das Bauunternehmen S. Rushton in Halifax im kanadischen Nova Scotia mithilfe von rund 700 Seifenstücken erfolgreich ein uraltes Gebäude mit einem Gewicht von bis zu 220 Tonnen über eine Distanz von 9 Metern bewegen.

Überschalltriebwerk erreicht Geschwindigkeit von 19.756 km/h

Überschalltriebwerk erreicht Geschwindigkeit von 19.756 km/h

Chinesische Forscher für Hyperschallwaffen entwickeln den weltweit stärksten Rotationssprengstoffmotor, der es Flugzeugen ermöglicht, in einer Höhe von 30 km mit 19.756 km/h (Mach 16) zu fliegen.

KI-Tierübersetzung hilft Menschen, Hundegebell zu verstehen

KI-Tierübersetzung hilft Menschen, Hundegebell zu verstehen

Dank künstlicher Intelligenz (KI) könnte das, was wie ein Filmtraum klingt – dass Menschen die Sprache der Tiere verstehen – bald Wirklichkeit werden.

Was bewirken die Kameraeinstellungen Ihres Telefons?

Was bewirken die Kameraeinstellungen Ihres Telefons?

Zu wissen, was jede Funktion bewirkt, kann den Unterschied zwischen einem guten und einem großartigen Foto ausmachen.

So verwenden Sie Konstanten in Golang

So verwenden Sie Konstanten in Golang

Was ist eine Konstante oder Konstante in Golang? Hier erfahren Sie, was Sie über die Verwendung von Konstanten in Go wissen müssen.

Ultimate Evolution Code: Neuester Saiyajin und wie man den Code eingibt

Ultimate Evolution Code: Neuester Saiyajin und wie man den Code eingibt

Code Ultimate Evolution Saiyan gibt den Spielern eine Reihe attraktiver Belohnungen und dank dessen im frühen Spiel wie Diamanten, Exp, Exp-Kapseln, Gold, Charakterfragmente

So bearbeiten Sie ein Vorschaufoto im Instagram-Profil

So bearbeiten Sie ein Vorschaufoto im Instagram-Profil

Instagram hat kürzlich sein Profilraster-Layout auf eine vertikale 4:5-Vorschau umgestellt. Nutzer können das Vorschaubild nach Belieben anpassen, um den Fokus auf die gewünschten Inhalte zu legen.

Code Monkey King: Reise in den Westen, spätestens 25.04.2025

Code Monkey King: Reise in den Westen, spätestens 25.04.2025

Code Monkey King gibt den Spielern eine Reihe attraktiver Belohnungen wie Währung, 5-Sterne-Zufallscharakterfragmente, Nine Revolutions Golden Pill, zufällige Ressourcenpakete

So optimieren Sie Google Chrome für einen superschnellen Start

So optimieren Sie Google Chrome für einen superschnellen Start

Wir alle kennen das: Man klickt auf das Chrome-Symbol und wartet, bis der Browser startet. Das scheinbar endlose Warten, bis die Startseite geladen ist, kann frustrierend sein.

So erstellen Sie Aufkleber aus Fotos auf Samsung

So erstellen Sie Aufkleber aus Fotos auf Samsung

Auf einigen Samsung Galaxy-Telefonen besteht die Möglichkeit, Sticker aus Fotos im Album zu erstellen, sodass Benutzer frei Sticker erstellen und in Nachrichten verwenden können.

So beheben Sie, dass der Task-Manager unter Windows nicht funktioniert

So beheben Sie, dass der Task-Manager unter Windows nicht funktioniert

Benutzer können den Task-Manager nicht verwenden, wenn er nicht funktioniert. So beheben Sie das Problem, wenn der Task-Manager auf einem Windows 11/10-PC nicht funktioniert.

Neuester Code von Absolute God of War

Neuester Code von Absolute God of War

Der neueste Code Dau Than Tuyet The gibt Spielern Münzen, Goldbarren und viele andere Gegenstände, darunter Nguyen Phach, Geschenkboxen, Truhen, Trac Viet Stones …

Legendärer Drachengott-Code und wie man den Code eingibt

Legendärer Drachengott-Code und wie man den Code eingibt

Die Belohnungen für den Geschenkcode „Legendärer Drachengott“ bestehen hauptsächlich aus Gold und Diamanten. Außerdem gibt es Bonustruhen, Steine ​​und Wiederherstellungsgegenstände …