Задать вопрос

Как в Golang передавать в функцию массивы структур разных типов?

У меня есть несколько массивов структур разного типа.
Мне необходимо передать по очереди эти массивы в функцию.
Но типы у структур разные.

Код что-то типа такого:
func Function(MyStruct /*Что здесь написать?*/){
    for _ , field := range MyStruct {
        ...
    }
}

func main() {
	...
    Function(city, country, []MyStruct1)
    Function(city, country, []MyStruct2)
    ...
}


Это вообще возможно реализовать?
  • Вопрос задан
  • 1821 просмотр
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
@dinegnet
Не надо так.

Не надо тянуть в типизированный язык, который вас же защищает от ваших же ошибок- не нужно в него тянуть архитектурные принципы из динамических языков.

В лоб: можно заменить интерфейсом-итератором, конкретная реализация которого будет отличаться для разного типа, но сигнатура интерфейса будет та же самая, поэтому его можно будет легко передать в функцию.

Меньше писать, но некрасиво - передавать разных типов массивы в разных по счету параметрах
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы