Eukleides project

from http://d.hatena.ne.jp/u5_h/

Weekly PR #13 gometalinter and memory usage in golang struct

github.com

linterを入れて欲しいとのissueがあったので、gometalinterというツールを導入し、複数のlinterを対応させました


travisで回すには.travis.ymlに以下の記述が必要です。


supportされているlintツールはここに載っています。
github.com

特に今回注目したものがmaligned
github.com


実は構造体定義で、メンバ変数の順番を気にしないと、メモリのパディングが発生してしまうようです。
そこでmalignedではメモリパディングが発生しないような構造体のメンバ変数定義になっているかどうかを確認します。
web上にはメモリのパディングが発生しないかを視覚的に確認するツールがあるようです。
golang-sizeof.tips