handlename's blog

コード片など

golang

flycheck用のgo-vetコマンドを再定義する

go 1.3.1 darwin/amd64 emacs GNU Emacs 24.4.50.1 わけあってgoamzのコードをemacs上で読んでいたら、 こことかで flycheck経由のgo-vetが次のようなワーニングを出していた。 composite literal uses unkeyed fields AttributeDefinitionsはsliceだから、…

goでJSONを比較したい場合

JSONでデータをやりとりするパッケージで、 得られるJSONが期待するものかどうかをテストするときにどうすればいいのか、という話。 ググってもこれといったものが見つけられなかったので interface{}な変数にjson.Unmarshalしてからreflect.DeepEqualしてみ…

mimic っていう http mock サーバーを書いた

go 1.3.1 引き続き go 勉強中。 mux というものを知ったので これを使ってなにか書いてみた結果。 https://github.com/handlename/mimic ユースケース フロントエンドの人と平行して作業をするときに、 「このAPIまだ出来てないの?」 「とりあえず持っくで…

get-git-ignore というツールを書いた

go 1.3.1 なにか書き始めるとき、小さいものでもとりあえず git で管理するようにしている。 で、ちょっと大きくなると .gitignore ファイルを置く必要が出てくる。 このときいつも github/gitignore から 該当言語を探して raw の URL をたどってダウンロー…

go-opts というパッケージを書いた

go 1.3.1 go 言語でコマンドライン引数を受け取る場合、 flag というモジュールを使う。 http://golang.org/pkg/flag/ こんなコードを書くと --xxx / -xxx 形式でコマンドライン引数を受け取ることができる。 package main import ( "flag" "fmt" ) func mai…