>>636
1. &elem2{}で渡してるのに、func (e elem2) String() stringなんて呼び出すわけないじゃん?どういう事?
2. func (s *str) String() string で普通は定義するので、同じように呼べないからコンパイルエラー
もっと言えば、s := str{}にしても (*str).String(&s)とコンパイル時に解釈されるだけで呼んでるのはポインタメソッド

下のインタフェース型変数云いいは、全く理解ができていないで我儘いってるだけで読んでる人に伝わってないし
マジ何が言いたいのかサッパリ...
goの仕様ほど厳格なものはないと思うけど(比べるのはC/C++や2015年代以前の言語ね、2016年以降の言語と
比べても、いまだに詳細なメモリレイアウトさえ公表できない某錆より厳格だ)本当に大真面目に読んでる?
golangを始める必要性に駆られて、こんな簡単な入門初めのプログラムでケチ付けたいだけじゃ?
issue書いても良いけど、保守的なgolangメンテナーに絶対相手にされないよ