Mot-clé différé dans Golang

En Go, les instructions defer retardent l'exécution d'une fonction, d'une méthode ou d'une méthode anonyme jusqu'au retour des fonctions à proximité. En d'autres termes, les arguments pour différer les fonctions ou les méthodes sont évalués immédiatement, mais ils ne s'exécutent pas tant que les fonctions proches ne sont pas renvoyées. Vous pouvez créer une méthode, une fonction ou une fonction anonyme différée à l'aide du mot-clé defer.

Mot-clé différé dans Golang

Syntaxe:

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

Remarque importante :

  • Dans le langage Go, plusieurs instructions de report sont autorisées dans le même programme et elles sont exécutées dans l'ordre LIFO (dernier entré, premier sorti) comme indiqué dans l'exemple 2.
  • Dans les instructions defer, les arguments sont évalués lorsque l'instruction defer est exécutée, et non lorsqu'elle est appelée.
  • Les instructions de report sont souvent utilisées pour garantir que les fichiers sont fermés lorsque leur besoin prend fin, ou pour fermer des canaux, ou pour détecter des problèmes dans le programme.

Voyons maintenant un exemple pour mieux comprendre.

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

Résultat:

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

Explication : Dans l’exemple ci-dessus, nous avons deux fonctions nommées mul() et show() . Alors que la fonction show() est appelée normalement dans la fonction main() , la fonction mul() est appelée de deux manières différentes :

  • Tout d'abord, nous appelons la fonction mul normalement (sans le mot-clé defer), c'est-à-dire mul(23, 45) et elle s'exécute lorsque la fonction est appelée (Sortie : Résultat : 1035).
  • Deuxièmement, nous appelons la fonction mul() comme une fonction de report en utilisant le mot-clé defer, c'est-à-dire defer mul(23, 56) et elle s'exécute (Sortie : Résultat : 1288) lorsque toutes les méthodes environnantes reviennent.

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

Résultat:

Start
Result:  20
Result:  90
End

Laisser un commentaire

Healthy snacks that help you lose weight

Healthy snacks that help you lose weight

Craving for snacks but afraid of gaining weight? Dont worry, lets explore together many types of weight loss snacks that are high in fiber, low in calories without making you try to starve yourself.

Résolution des problèmes liés aux paramètres de proxy de Microsoft Teams

Résolution des problèmes liés aux paramètres de proxy de Microsoft Teams

Vous rencontrez des problèmes avec le proxy dans Microsoft Teams ? Découvrez des solutions éprouvées pour résoudre ces erreurs. Videz le cache, ajustez les paramètres du proxy et retrouvez des appels fluides en quelques minutes grâce à notre guide expert.

Pourquoi mon enregistrement Microsoft Teams a-t-il échoué ? Raisons courantes

Pourquoi mon enregistrement Microsoft Teams a-t-il échoué ? Raisons courantes

Vous êtes frustré(e) car votre enregistrement Microsoft Teams a échoué ? Découvrez les principales causes, telles que les problèmes d’autorisation, les limites de stockage et les dysfonctionnements du réseau, ainsi que des solutions étape par étape pour éviter les échecs futurs et enregistrer parfaitement à chaque fois.

Pourquoi ne puis-je pas voir les salles de sous-groupes dans ma réunion Teams ?

Pourquoi ne puis-je pas voir les salles de sous-groupes dans ma réunion Teams ?

Vous êtes frustré(e) car les salles de sous-groupes sont introuvables dans vos réunions Teams ? Découvrez les principales raisons de leur absence et suivez nos solutions pas à pas pour les activer en quelques minutes. Idéal pour les organisateurs comme pour les participants !

Résolution des problèmes liés au trousseau derreurs de Microsoft Teams sur Mac

Résolution des problèmes liés au trousseau derreurs de Microsoft Teams sur Mac

Vous rencontrez des problèmes avec le Trousseau d'accès Microsoft Teams sur Mac ? Découvrez des solutions de dépannage éprouvées et détaillées pour macOS afin de retrouver une collaboration fluide. Des solutions rapides à l'intérieur !

Où se trouvent les clés de registre de Microsoft Teams sous Windows 11 ?

Où se trouvent les clés de registre de Microsoft Teams sous Windows 11 ?

Découvrez l'emplacement précis des clés de registre Microsoft Teams sous Windows 11. Ce guide pas à pas vous explique comment les trouver, y accéder et les modifier en toute sécurité pour optimiser les performances et résoudre les problèmes. Indispensable pour les professionnels de l'informatique et les utilisateurs de Teams.

Comment résoudre lerreur 1200 de Microsoft Teams sur téléphone (iOS/Android)

Comment résoudre lerreur 1200 de Microsoft Teams sur téléphone (iOS/Android)

Vous en avez assez de l'erreur 1200 de Microsoft Teams qui interrompt vos appels téléphoniques ? Découvrez des solutions rapides et simples pour iOS et Android afin de reprendre rapidement une collaboration fluide, sans aucune compétence technique requise !

Où se trouve Microsoft Teams dans Outlook ? Localisation de l’icône manquante

Où se trouve Microsoft Teams dans Outlook ? Localisation de l’icône manquante

Vous êtes frustré(e) par la disparition de l'icône Microsoft Teams dans Outlook ? Découvrez où la trouver, pourquoi elle disparaît et comment la faire réapparaître pour des réunions sans souci. Mise à jour pour les dernières versions !

Comment résoudre lerreur « Longlet Wiki de Microsoft Teams ne se charge pas »

Comment résoudre lerreur « Longlet Wiki de Microsoft Teams ne se charge pas »

Vous rencontrez des difficultés avec le chargement des onglets Wiki dans Microsoft Teams ? Découvrez des solutions éprouvées, étape par étape, pour résoudre rapidement le problème, restaurer vos onglets Wiki et optimiser la productivité de votre équipe en toute simplicité.

Comment résoudre lerreur matérielle de Microsoft Teams (correction du registre 2026)

Comment résoudre lerreur matérielle de Microsoft Teams (correction du registre 2026)

Vous en avez assez des plantages de Microsoft Teams avec erreur critique ? Découvrez la solution éprouvée de 2026 modifications du registre qui résout le problème en quelques minutes. Guide pas à pas, captures d'écran et astuces pour une solution définitive. Compatible avec les dernières versions !