Создание не используемой переменной, зачем?
Инициализации (не этот случай),
Остатки от отладки,
Проверки типов (заставляем компилятор все проверить за нас).
В данном случае - третье.
var _ IRouter = &RouterGroup{}
Проверяется, что для структуры RouterGroup реализован интерфейс IRouter
Это часть кода для тестирования.
Правда это не отдельный активный тест, те, что пишутся в файлах *_test.go
А заставляем еще на этапе компиляции провести дополнительные проверки.
Наверно, чтоб статический анализатор не ругался, что типы объявлены и не используются.