package
1.23.0
Repository: https://github.com/shogo82148/std.git
Documentation: pkg.go.dev

# Functions

Asは、errのツリー内で最初にtargetに一致するエラーを検索し、 一致するエラーが見つかった場合、targetをそのエラー値に設定してtrueを返します。 それ以外の場合、falseを返します。 このツリーは、err自体と、その後に繰り返しUnwrap() errorまたはUnwrap() []errorメソッドを 呼び出すことで得られるエラーで構成されています。errが複数のエラーをラップしている場合、 Asはerrとその子の深さ優先探索を順に調べます。 エラーがターゲットに一致する場合、エラーの具体的な値がtargetが指す値に代入可能であるか、 またはエラーがAs(any) boolというメソッドを持ち、As(target)がtrueを返す場合です。 後者の場合、Asメソッドはtargetを設定する責任があります。 エラータイプは、異なるエラータイプであるかのように扱うことができるように、Asメソッドを提供する場合があります。 Asは、targetがエラーを実装する型または任意のインターフェース型の、 非nilポインタでない場合にパニックを引き起こします。.
Isは、errのツリー内の任意のエラーがtargetに一致するかどうかを報告します。 このツリーは、err自体と、その後に繰り返しUnwrap() errorまたはUnwrap() []errorメソッドを 呼び出すことで得られるエラーで構成されています。errが複数のエラーをラップしている場合、 Isはerrとその子の深さ優先探索を順に調べます。 ターゲットに一致するエラーは、そのターゲットに等しい場合、または Is(error) boolというメソッドを実装している場合、Is(target)がtrueを返す場合です。 エラータイプは、既存のエラーと同等に扱うためにIsメソッドを提供する場合があります。 たとえば、MyErrorが次のように定義されている場合、 func (m MyError) Is(target error) bool { return target == fs.ErrExist } 例えば、Is(MyError{}, fs.ErrExist)はtrueを返します。 標準ライブラリの例については、 [syscall.Errno.Is] を参照してください。 Isメソッドは、errとターゲットを浅く比較し、[Unwrap] を呼び出さないようにする必要があります。.
Joinは、指定されたエラーをラップするエラーを返します。 nilエラー値は破棄されます。 errsのすべての値がnilの場合、Joinはnilを返します。 エラーは、errsの各要素のErrorメソッドを呼び出して得られた文字列を連結したもので、 各文字列の間に改行が挿入されたものとしてフォーマットされます。 Joinによって返されるnilでないエラーは、Unwrap() []errorメソッドを実装します。.
Newは、指定されたテキストをフォーマットするエラーを返します。 テキストが同じであっても、Newの各呼び出しは異なるエラー値を返します。.
Unwrapは、errの型にUnwrapメソッドが含まれている場合、 errのUnwrapメソッドを呼び出した結果を返します。 それ以外の場合、Unwrapはnilを返します。 Unwrapは、"Unwrap() error"形式のメソッドのみを呼び出します。 特に、Unwrapは [Join] によって返されたエラーをアンラップしません。.

# Variables

ErrUnsupportedは、サポートされていないため、要求された操作を実行できないことを示します。 たとえば、ハードリンクをサポートしていないファイルシステムを使用して [os.Link] を呼び出す場合。 関数やメソッドは、このエラーを返すべきではありません。 代わりに、適切な文脈を含むエラーを返すべきです。 errors.Is(err, errors.ErrUnsupported) ErrUnsupportedを直接ラップするか、 [Is] メソッドを実装することによって、 サポートされていないことを示すエラーを返すことができます。 関数やメソッドは、このエラーをラップして返す場合があることを文書化する必要があります。.