имлементацией делают пустую инициализацию структуры. Типа
var _ MyStructInterface = &myStruct{} // ??????????
func New() *myStruct { return .. }
type myStruct struct {}
func (ms myStruct) SayMew() {}
так греют какой-нибудь кеш? что-то показывают линтеру или компилятору?
Явно указать что ты пытался имплементировать, чтоб после смены сигнатур методов не прошла сборка?
Чтобы компилятор проверял все верно
Вроде как это банально проверка соответствия структуры интерфейсу. Если не соответствует - будет ошибка компиляции
статическая проверка в compile-time имплементирует ли *myStruct интерфейс MyStructInterface
Обсуждают сегодня