もう散々書かれている話だけど、Go に触るたびに毎回調べ直す羽目になっているので、忘備録としてまとめておく 結論 errors パッケージは使わない その代わりに golang.org/x/xerrors パッケージを使う エラーを自分で作成するときは xerrors.New もしくは xerrors.Errorf を使う 関数から受け取ったエラーを返すときは xerrors.Errorf(": %w", err) を使う コメントを付与したいときは xerrors.Errorf("comment: %w", err) エラーの出力は fmt.Printf("%+v\n", xerrors.Errorf(": %w", err)) こんな感じ 具体例 package main import ( "fmt" "os" "strconv" "golang.org/x/xerrors" ) fu