Go言語におけるinterface{}とリフレクションを使ったパターン ref: http://qiita.com/tenntenn/items/a06b6b178959e3a63196