Go 言語でのエラー処理は他の言語とは若干異なります。error
型は通常、関数の結果を表すために使用されます。関数の実行に失敗した場合は、エラー値が返されます。 Go 言語には例外メカニズムがなく、すべてのエラーは返されて処理される必要があります。エラーを処理する場合、多くの場合、エラー情報を文字列出力に変換したり、ログを書き込んだりする必要があります。
error
型を文字列に変換するには 2 つの方法があります。1 つは error
インターフェイスの Error()
メソッドを使用する方法、もう 1 つは # を使用する方法です。 ## fmt パッケージの
Sprintf() 関数。
error このインターフェイスは、単一のメソッド
Error() string を含む仕様です。これを実装します。インターフェイスのタイプはエラー状態を表します。このメソッドを使用して、エラーの文字列表現を取得できます。
package main import ( "errors" "fmt" ) func main() { err := errors.New("发生了一个错误") fmt.Println(err.Error()) }プログラム出力:
发生了一个错误これは、
error 型を文字列型に変換します。
error インターフェイスの
Error() メソッドを使用することに加えて、次のことができます。
も使用します。 fmt パッケージの
Sprintf() 関数は、エラーを文字列出力にフォーマットします。
package main import ( "errors" "fmt" ) func main() { err := errors.New("发生了一个错误") fmt.Println(fmt.Sprintf("%v", err)) }プログラム出力:
发生了一个错误ご覧のとおり、
fmt.Sprintf() 関数を使用した場合の出力エラーは、関数を使用した場合とは異なります。
エラー インターフェースの
Error() メソッドは、同じエラー内容を出力します。
package main import ( "errors" "log" ) func main() { err := errors.New("发生了一个错误") log.Println("错误信息:", err) }プログラム出力:
2021/08/12 20:06:19 错误信息: 发生了一个错误ご覧のとおり、
log# の Println()
関数を使用します。 ## package エラー情報をログ ファイルに書き込みます。 概要
型を文字列に変換する方法が 2 つあります。1 つは、error
インターフェイス# を使用する方法です。 #fmt
パッケージを使用した #Error() メソッドと
Sprintf() 関数。同時に、トラブルシューティングを容易にするために、エラー情報をログ ファイルに書き込むこともできます。
以上がgolang で文字列にエラーが発生するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。