go

testify の require を使う

go

golang.org/stretchr/testify の requireパッケージを使用する。 assert と同様のテストを行いつつ、テストに失敗した場合は後続のテストの実行を止めることができる。 stretchr/testify: A toolkit with common assertions and mocks that plays nicely wit…

エラーのラッピング

go

注:本記事は元々 Qiita で公開していたものの再掲です。 Go 1.13 で追加された、エラーラッピングについて。 Package errors (golang.org) https://golang.org/pkg/errors/ 概要 エラーを他のエラーでラップすることが可能になる 元のエラーの型やフィール…

testify の assert を使ってテストを書く

go

注: 本記事は元々 Qiita にて公開していたものの再掲です。 概要 testify https://github.com/stretchr/testify golang でテストをより記述しやすくするためのパッケージ その中で assert パッケージは、結果値の妥当性をチェックする関数を提供する 本記事…

golangci-lint に独自の Linter を統合する

go

お久しぶりです ちゃんと元気に生きています。 1ヶ月ほど禁酒していて体の調子がすごく良いです。その代わりアイスの消費量が増えました。毎日ハーゲンダッツとかガリガリ君とか食べてます。 独自Linterをgolangci-lintと統合する手順 まずこの記事でカバー…

Type Switch

go

interface{}型で宣言された変数の値の具体的な型により処理を分岐させたい、というケースが考えられる。Type Switch という仕組みでそれを実現できる。switch - case 文を使って、型ごとの処理内容を case 内に記述する。公式ドキュメントの Effective Go に…

GORMを使ってみた

go

goで使えるO/R Mapperは結構いろいろあるみたいで、とりあえず今日1日 gorpとGORMを使ってみた。gorp GitHub - go-gorp/gorp: Go Relational Persistence - an ORM-ish library for GoGORM Getting Started with GORM · GORM Guidegorpはシンプルに使える、G…

goでmysqlを使うメモ

go

久しぶりだー 前回の日記が2014年11月3日…だいぶ放置してたなorz goでmysqlを使ってみる mysqlドライバをインストール database/sql の mysqlドライバとして go-sql-mysql というのがある。まずはこれを go get でインストールする。 github.com go get gith…