ホームページ  >  記事  >  バックエンド開発  >  Go でチャネルを使用して Goroutine からのエラーを処理するにはどうすればよいですか?

Go でチャネルを使用して Goroutine からのエラーを処理するにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-10 18:08:02541ブラウズ

How can I handle errors from Goroutines using channels in Go?

チャネル経由でゴルーチンのエラーを処理する

ゴルーチン内で関数を呼び出すとき、エラーを処理して伝播する必要がよくあります。 Go では、次の例に示すように、関数は通常、値とエラーの両方を返します。

ゴルーチン内で createHashedPassword を実行し、エラー処理を容易にするための一般的なアプローチは、チャネルを使用することです。チャネルを使用すると双方向通信が可能になり、データの送受信が可能になります。

チャネルを使用してエラーを処理するには、結果とエラーの両方をカプセル化するカスタム構造体を定義できます。

ゴルーチン内で、Result 構造体を設定し、チャネル経由で送信できます:

メイン プログラムでは、チャネルから結果をフェッチし、エラーを確認できます:

この手法を利用すると、ゴルーチン内でエラーを効果的に処理でき、同時実行性を損なうことなくエラーの伝播とエラー処理が可能になります。

以上がGo でチャネルを使用して Goroutine からのエラーを処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。