April 2022
Beginner to intermediate
464 pages
6h 44m
Japanese
Goのエラーは error 型のインタフェースを満たした単なる値です。 error 型は int 型などと同様にGoのランタイムに組み込まれている型で、インタフェースとして定義されています。このインタフェースに格納される nil 値はエラーがないことを表します。Javaでは try や catch が例外処理の構文として存在しますが、Goには例外を扱う組み込みの構文はありません。エラーが単なる値であることはGoの特徴の1つと言えます。
type error interface {
Error() string
}
Error() string を満たしている型は error インタフェースを満たしており、エラーとして扱えます。 error インタフェースの、もっとも一般的に使用される実装は errors.New() を使って生成するエラーです。その実体は以下のような errorString という構造体です。 errorString は Error() string を実装しているため error インタフェースを満たしています。
func New(text string) error {
return &errorString ...Read now
Unlock full access