В чём в этом случае разница между
func (i myinterface) ... и func (i *myinterface) ? Они оба будут передаваться по ссылке, или первый в стеке (каким то образом)?
А зачем вам интерфейс для структур?
Стратегия с контекстом
func (i myinterface) — для ридеров
в первом случае передастся копия интерфейса (условно два 8-байтных числа), во втором скопируется указатель на интерфейс (одно 8-байтное число). сами данные больших структур не будут копироваться. копирование данных структуры произойдет в момент type assertion из интерфейса, ну или при вызове метода структуры с ресивером типа структуры.
Обсуждают сегодня