ホームページ  >  記事  >  バックエンド開発  >  Go でゴルーチンからのエラーを処理するには?

Go でゴルーチンからのエラーを処理するには?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-16 15:08:02970ブラウズ

How to Handle Errors from Goroutines in Go?

チャネル経由でゴルーチンからエラーを返す

ゴルーチンで関数を実行する場合、エラーを効率的に処理する必要があります。 Go では、createHashedPassword 関数に代表されるように、関数は値とエラーの両方を返すことがよくあります。

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

ゴルーチンからデータとエラーの両方を渡すには、チャネルを使用するのが一般的です。しかし、次のような疑問が生じます: エラーを効果的に処理するにはどうすればよいでしょうか?

解決策は、出力とエラーを包含する Result 構造体などのカスタム データ構造を作成することです。

type Result struct {
    Message string
    Error error
}

この構造が定義されたら、チャネルをインスタンス化し、それを通信に利用できます。

ch := make(chan Result)

このチャネルを適切に配置すると、ゴルーチンはメッセージとエラーを含む Result オブジェクトを書き込むことができ、ゴルーチン間の効率的なデータとエラー処理が保証されます。同時タスク。

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

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