Go にも書いてあった Second, if the same name appears at the same nesting level, it is usually an error; (中 略)However, if the duplicate name is never mentioned in the program outside the type definition, it is OK. (中略) there is no problem if a field is added that conflicts with another field in another subtype if neither field is ever used. 第二に、同じネストレベルで同じ名前が現れる場合、通常はエラーとなる。(中略)ただし、重複す る名前が型定義の外でプログラム内で一切言及されない場合は問題ない。(中略)別のサブタイ プ内のフィールドと競合するフィールドが追加されても、いずれのフィールドも使用されない限り問 題はない。