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!