Maison >développement back-end >Golang >Comment gérer les erreurs des Goroutines dans Go ?

Comment gérer les erreurs des Goroutines dans Go ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-16 15:08:021040parcourir

How to Handle Errors from Goroutines in Go?

Renvoi des erreurs des goroutines via les canaux

Lors de l'exécution de fonctions dans les goroutines, il devient nécessaire de gérer efficacement les erreurs. Dans Go, les fonctions renvoient souvent à la fois une valeur et une erreur, comme en témoigne la fonction createHashedPassword :

func createHashedPassword(password string) (string, error) {
  // Code
}

Pour transmettre à la fois les données et les erreurs d'une goroutine, il est courant d'utiliser des canaux. Cependant, la question se pose : comment pouvons-nous gérer efficacement les erreurs ?

La solution réside dans la création d'une structure de données personnalisée, telle qu'une structure Result, pour englober la sortie et l'erreur :

type Result struct {
    Message string
    Error error
}

Une fois cette structure définie, nous pouvons instancier un canal et l'utiliser pour la communication :

ch := make(chan Result)

Avec ce canal en place, les goroutines peuvent écrire des objets de résultat contenant des messages et des erreurs, garantissant ainsi une gestion efficace des données et des erreurs entre tâches simultanées.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn