Golang
interface とは利用側が振る舞いを要求するものであり、生成側が実装を隠蔽するために使うものではありません。そのため、 New 関数では interface を返すのではなく、構造体を直接返すことが推奨されています。
https://qiita.com/fmatzy/items/11ce9dde6f7e1d7798f1
interfaceは利用側で定義する