02月12日 (n年日記)
- 午前 午前中は息子と近くの公園に 昼食は自宅で 午後 夕方まで自宅で過ごし息子とモールに行きポケモン図鑑を買う 図書館で本を買える スーパーで買い物 22:30 ごろ就寝 体調 70 その他 今日の Tabs
- 午前 息子の朝食作り 家の掃除 息子スイミング 10:00 ごろマクドナルドで坦々バーガーを食べる 昼食は自宅で 午後 何をしたか記憶にない 多分午後は自宅で過ごす 体調 明日からの仕事を考え一日中憂鬱 特に問題があるわけではないが不安 その他 どんなものかと mastodon のインスタンスを立ててみる docker でたててみたが、あまりドキュメントがなく四苦八苦 とりあえず試験運用 今日の Tabs
- 午前 トイレとお風呂掃除 近くで大盛り弁当を買って、3人で公園に 午後 3時前に帰宅 お昼寝 夕食は軽めに 体調 普通 息子も問題なし その他 『MOTHER』『MOTHER2 ギーグの逆襲』が「ファミリーコンピュータ&スーパーファミコン Nintendo Switch Online」で本日追加。プラチナポイント交換グッズも登場。 | トピックス | Nintendo マザー2が追加されたので久々に登録 今年はsplatoon2とゼルダBoWの後編も出るようなので楽しみだ 今日のTabs
- goはerrorインターフェイスを持っている、
type error interface { Error() string } よく見る例としてError()関数を実装すれば、独自のerrorを作ることができる。
https://play.golang.org/p/cO0-r95Hd_r
package main import ( "fmt" ) type Error struct { Msg string Code int } func (err *Error) Error() string { return fmt.Sprintf("ErrorMessage [%s], ErrorCode [%d]", err.Msg, err.Code) } func test() error { return &Error{Msg: "file not found", Code: 2} } func main() { if err := test(); err != nil { fmt.Println(err) } } ここでError()関数はどうやって実行されているか疑問に思って調べてみると こんな記述が
The fmt package formats an error value by calling its Error() string method.
https://blog.golang.org/error-handling-and-go