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

Einen Kommentar hinterlassen

Side Hustles That Actually Pay in 2026: 7 Realistic Options and the Tradeoffs to Know

Side Hustles That Actually Pay in 2026: 7 Realistic Options and the Tradeoffs to Know

Compare realistic side hustles for 2026 by startup cost, fees, flexibility, and income control, with current tax and scam guidance from official sources.

Ergonomie im Homeoffice 2026: So optimieren Sie Ihr Heimbüro, ohne zu viel auszugeben

Ergonomie im Homeoffice 2026: So optimieren Sie Ihr Heimbüro, ohne zu viel auszugeben

Verbessern Sie die Ergonomie Ihres Homeoffice mit den aktuellen OSHA- und NIOSH-Richtlinien zu Stuhlpassform, Monitorhöhe, Laptop-Aufstellung, Beleuchtung und Bewegungsabläufen.

Why Emotional Intelligence Matters in Leadership—and How to Build It

Why Emotional Intelligence Matters in Leadership—and How to Build It

Learn why emotional intelligence matters in leadership, where it helps most, how to strengthen it, and how to tell whether your approach is working.

Wie man ohne Hochschulabschluss in eine Technologiekarriere wechselt: Ein ergebnisorientierter Fahrplan für 2026

Wie man ohne Hochschulabschluss in eine Technologiekarriere wechselt: Ein ergebnisorientierter Fahrplan für 2026

Ein praktischer Leitfaden für den Einstieg in die Tech-Branche ohne Hochschulabschluss: Wählen Sie eine leicht zugängliche Stelle, erwerben Sie berufsrelevante Fähigkeiten, beweisen Sie diese anhand von Projekten und nutzen Sie das Feedback aus dem Bewerbungsprozess, um sich zu verbessern.

Aufbau einer persönlichen Marke auf LinkedIn im Jahr 2026: Was funktioniert noch, was hat sich verändert und was sollte man ignorieren?

Aufbau einer persönlichen Marke auf LinkedIn im Jahr 2026: Was funktioniert noch, was hat sich verändert und was sollte man ignorieren?

Bauen Sie im Jahr 2026 eine glaubwürdige LinkedIn-Personalmarke auf – mit aktuellem Profil, Inhalten, Newsletter, Analysen, Verifizierung und Sichtbarkeitsberatung von LinkedIn.

Quiet Quitting vs. Quiet Firing in 2026: What’s Really Changing at Work

Quiet Quitting vs. Quiet Firing in 2026: What’s Really Changing at Work

Quiet quitting and quiet firing are catchy labels, not diagnoses. Learn what is verified, what depends on context, and what employees and managers can do next.

Der Aufstieg des Teilzeit-Managers: Wann Teilzeit-Führungskräfte auf der C-Suite sinnvoll sind

Der Aufstieg des Teilzeit-Managers: Wann Teilzeit-Führungskräfte auf der C-Suite sinnvoll sind

Teilzeit-Führungskräfte bieten Top-Management ohne Vollzeitbeschäftigung. Erfahren Sie, wann dieses Modell funktioniert, welche Fragen Sie stellen sollten und welche Risiken zu berücksichtigen sind.

Wie Sie im Rahmen der Leistungsbeurteilung im vierten Quartal eine Gehaltserhöhung aushandeln: Ein praktischer Entscheidungsleitfaden für 2026

Wie Sie im Rahmen der Leistungsbeurteilung im vierten Quartal eine Gehaltserhöhung aushandeln: Ein praktischer Entscheidungsleitfaden für 2026

Bereiten Sie einen überzeugenderen Antrag auf Gehaltserhöhung im vierten Quartal vor, der aktuelle Lohndaten, Optionen für den Zeitpunkt, mögliche Abwägungen bei der Vergütung sowie Formulierungsvorschläge für die Szenarien Ja, Teilweises oder Nein enthält.

6 gefragte Fähigkeiten, die Sie noch vor Ende 2026 erlernen können

6 gefragte Fähigkeiten, die Sie noch vor Ende 2026 erlernen können

Wählen Sie eine gut bezahlte Qualifikation, mit der Sie realistischerweise noch vor Ende 2026 beginnen können, unter Berücksichtigung aktueller Gehaltsdaten, Lernprioritäten und einer praktischen Selbsteinschätzung.

Mastering the Hybrid Work Schedule: A Practical Framework That Actually Holds Up

Mastering the Hybrid Work Schedule: A Practical Framework That Actually Holds Up

Build a hybrid work schedule around tasks, team overlap, and measurable outcomes. See sample patterns, warning signs, and when to adjust your plan.