GoLang 関数は、エラー パッケージの Wrapf 関数と Errorf 関数を通じてエラーの国際化を実行できます。これにより、ローカライズされたエラー メッセージを作成し、他のエラーに追加してより高レベルのエラーを形成します。 Wrapf 関数を使用すると、低レベルのエラーを国際化して、「ファイル %s を開くときにエラーが発生しました」などのカスタム メッセージを追加できます。
GoLang 関数エラー処理における国際化
GoLang は強力なエラー処理メカニズムを提供しますが、デフォルトではエラー メッセージは英語です。これにより、多言語アプリケーションで問題が発生する可能性があります。この記事では、エラー国際化のために errors
パッケージの Wrapf
関数と Errorf
関数を使用する方法について説明します。
Errorf の使用
Errorf
関数は、フォーマットされたエラー情報を含む新しいエラーを作成するために使用されます。この関数を使用すると、ローカライズされたエラー メッセージを作成できます。
import ( "fmt" ) func main() { err := fmt.Errorf("操作失败:%w", myError) }
上記のコードは、myError
からのエラー メッセージを含む新しいエラーを作成します。
Wrapf
Wrapf
関数の使用は、「他のエラーの中で」に追加された書式設定されたエラーを含む新しいエラーを作成するために使用されます。 。これは、低レベルのエラーを高レベルのエラーに変換するのに役立ちます。
import ( "errors" "fmt" ) func main() { err := errors.Wrapf(myError, "文件打开失败:%w") }
上記のコードは、myError
からのエラー メッセージを含む新しいエラーを作成し、「ファイル オープンに失敗しました」情報を追加します。
実際的なケース
次に、間違った国際化を使用する実際的なケースを示します:
import ( "errors" "fmt" "io" ) func main() { if err := readFile("file.txt"); err != nil { log.Println(err) } } func readFile(filename string) error { file, err := os.Open(filename) if err != nil { return errors.Wrapf(err, "打开文件 %s 出错", filename) } defer file.Close() //从文件中读取数据 }
この例では、readFile
関数Wrapf
関数を使用した国際化ファイルのオープン エラー。ファイルを開けない場合、log.Println
は、ファイルを開けないことをユーザーに通知するローカライズされたエラー メッセージを出力します。
結論
errors
パッケージの Wrapf
関数と Errorf
関数を使用すると、 GoLang 関数のエラー メッセージを簡単に国際化できます。これは、ユーザーが自分の言語で意味のあるエラー メッセージを確認できるため、多言語アプリケーションにとって重要です。
以上がgolang 関数のエラー処理における国際化の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。