В Go интерфейсы реализуются неявно — не нужно объявлять implements. Но можно явно проверить на этапе компиляции:
var _ io.Writer = (*MyWriter)(nil)
Эта строка не создаёт переменную в рантайме (underscore), но заставляет компилятор проверить, что *MyWriter реализует io.Writer. Если не реализует — ошибка компиляции.
Это стандартная практика в Go-проектах. Часто пишут в начале файла с типом. Проверяет только сигнатуры методов, не логику.