Parola chiave Defer in Golang

In Go, le istruzioni defer ritardano l'esecuzione di una funzione o di un metodo o di un metodo anonimo finché non vengono restituite le funzioni vicine. In altre parole, gli argomenti per rinviare funzioni o metodi vengono valutati immediatamente, ma non vengono eseguiti finché non ritornano le funzioni vicine. È possibile creare un metodo differito, una funzione o una funzione anonima utilizzando la parola chiave defer.

Parola chiave Defer in Golang

Sintassi:

// 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
}()

Nota importante:

  • Nel linguaggio Go sono consentite più istruzioni defer nello stesso programma e vengono eseguite secondo l'ordine LIFO (Last-In, First-Out), come mostrato nell'esempio 2.
  • Nelle istruzioni defer, gli argomenti vengono valutati quando l'istruzione defer viene eseguita, non quando viene chiamata.
  • Le istruzioni defer vengono spesso utilizzate per garantire che i file vengano chiusi quando termina la loro necessità, per chiudere i canali o per individuare problemi nel programma.

Ora vediamo un esempio per capire meglio.

Esempio 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()
}

Risultato:

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

Spiegazione: Nell'esempio precedente, abbiamo due funzioni denominate mul() e show() . Mentre la funzione show() viene chiamata normalmente nella funzione main() , la funzione mul() viene chiamata in due modi diversi:

  • Per prima cosa, chiamiamo la funzione mul normalmente (senza la parola chiave defer), ovvero mul(23, 45), che verrà eseguita quando verrà chiamata la funzione (Output: Risultato: 1035).
  • In secondo luogo, chiamiamo la funzione mul() come funzione defer utilizzando la parola chiave defer, ovvero defer mul(23, 56) e viene eseguita (Output: Risultato: 1288) quando tutti i metodi circostanti ritornano.

Esempio 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)
}

Risultato:

Start
Result:  20
Result:  90
End

Lascia un commento

Come risolvere lerrore di mancata invio della chat di Microsoft Teams

Come risolvere lerrore di mancata invio della chat di Microsoft Teams

Problemi con l'errore di chat di Microsoft Teams che non invia messaggi? Scopri le soluzioni dettagliate per gli ultimi problemi di Teams, dalla cancellazione della cache alle modifiche di rete. Torna a chattare senza problemi in pochi minuti!

Come risolvere lerrore hardware di Microsoft Teams (correzione del registro 2026)

Come risolvere lerrore hardware di Microsoft Teams (correzione del registro 2026)

Stanco di crash di Microsoft Teams con errori gravi? Ottieni la comprovata correzione del registro 2026 che risolve il problema in pochi minuti. Guida passo passo, screenshot e suggerimenti per una risoluzione definitiva. Funziona con le versioni più recenti!

Come risolvere lerrore La scheda Wiki di Microsoft Teams non si carica

Come risolvere lerrore La scheda Wiki di Microsoft Teams non si carica

Hai problemi con il caricamento della scheda Wiki di Microsoft Teams? Scopri soluzioni passo passo comprovate per risolvere rapidamente il problema, ripristinare le schede Wiki e aumentare la produttività del team senza problemi.

Risoluzione dei problemi relativi al portachiavi di errore di Microsoft Teams per Mac

Risoluzione dei problemi relativi al portachiavi di errore di Microsoft Teams per Mac

Hai problemi con il portachiavi di errore di Microsoft Teams su Mac? Scopri soluzioni comprovate e dettagliate per macOS per tornare a collaborare senza problemi. Soluzioni rapide all'interno!

Come risolvere i problemi di audio ovattato o assente del microfono di Microsoft Teams

Come risolvere i problemi di audio ovattato o assente del microfono di Microsoft Teams

Stanco di sentire l'audio ovattato o assente nel microfono di Microsoft Teams? Scopri come risolvere i problemi del microfono di Microsoft Teams con passaggi rapidi e comprovati. Un audio nitido ti aspetta!

Come correggere gli errori di sincronizzazione della gestione delle attività di Microsoft Teams

Come correggere gli errori di sincronizzazione della gestione delle attività di Microsoft Teams

Stanco degli errori di sincronizzazione di Gestione Attività di Microsoft Teams che interrompono il tuo flusso di lavoro? Segui le nostre soluzioni dettagliate e dettagliate per ripristinare la perfetta sincronizzazione delle attività tra Teams, Planner e To Do. Soluzioni rapide per un sollievo immediato!

Come cancellare la cache di Microsoft Teams per risolvere i problemi di prestazioni

Come cancellare la cache di Microsoft Teams per risolvere i problemi di prestazioni

Hai problemi con la lentezza di Microsoft Teams? Scopri come svuotare la cache di Microsoft Teams passo dopo passo per risolvere problemi di prestazioni, ritardi, arresti anomali e aumentare la velocità su Windows, Mac, web e dispositivi mobili. Soluzioni rapide e efficaci!

Risoluzione degli errori di rete di Microsoft Teams su Wi-Fi pubblico

Risoluzione degli errori di rete di Microsoft Teams su Wi-Fi pubblico

Problemi di rete di Microsoft Teams su una rete Wi-Fi pubblica? Ottieni soluzioni immediate come modifiche alla VPN, controlli delle porte e cancellazione della cache per ripristinare chiamate e riunioni senza problemi. Guida passo passo per un rapido sollievo.

Dove trovare il tuo ID Microsoft Teams e le informazioni sullaccount

Dove trovare il tuo ID Microsoft Teams e le informazioni sullaccount

Hai difficoltà a trovare il tuo ID Microsoft Teams o i dettagli del tuo account? Questa guida dettagliata mostra esattamente dove trovare il tuo ID Microsoft Teams e le informazioni del tuo account su desktop, web, dispositivi mobili e altro ancora, per una collaborazione senza interruzioni.

Come risolvere lerrore 1200 di Microsoft Teams sul telefono (iOS/Android)

Come risolvere lerrore 1200 di Microsoft Teams sul telefono (iOS/Android)

Stanco dell'errore 1200 di Microsoft Teams che blocca le tue chiamate al telefono? Scopri soluzioni rapide e dettagliate per iOS e Android per tornare a lavorare in team senza intoppi, senza bisogno di competenze tecniche!