Как я читал документы Go, я нашел это:
Вы можете попросить компилятор проверить, что тип T реализует интерфейс I, пытаясь выполнить назначение:
type T struct{}
var _ I = T{} // Verify that T implements I.
Я не понимаю, для чего используется _, и я видел его в других назначениях, но не могу понять, что это значит. Копая глубже, я обнаружил, что он называется "пустой идентификатор", но я не понимаю, как они используются:
_ = x // evaluate x but ignore it
Идиомы поезда все еще немного чужды мне, поэтому я пытаюсь понять, почему я хотел бы сделать что-то вроде этого.