Разрабатывая на go я уяснил одну очень важную особенность - нельзя думать так как бы вы это делали на другом языке, а надо думать как в go. Не хочу вдаваться в вашу проблему, но думаю что есть выход, например, не создавать столько структур.
По вопросу: делаете интерфейс с геттерами/сеттерами и 1 функцию принимающую этот интерфейс в качестве аргумента. Юзаете функцию, отдавая ей ссылку на объект структуры.
Да-да, не получится сделать метод, и сделать через задницу, но это по меркам многих других языков, в го - это норма.
Можно ещё поиграться с рефлексией или генераторами. 1ое не go-way, 2ое норм, но надо заморочится с генерацией.