Size: a a a

2020 June 02

A

Andy in Go-go!
Anton Kucherov
Откуда это взялось?
условие задачи, не все можно трогать.
источник

AK

Anton Kucherov in Go-go!
И самое главное, как предполагается это использовать? Т.е. кто будет вызывать этот метод, который у этих структур есть?
источник

A

Andy in Go-go!
Anton Kucherov
И самое главное, как предполагается это использовать? Т.е. кто будет вызывать этот метод, который у этих структур есть?
он вызывается в процессе работы с экземпляром. сейчас нарисую пример если интересно.
источник

AK

Anton Kucherov in Go-go!
Я так понимаю этот метод должен использовать поля базовой структуры и поля дочерней структуры? При этом этот метод будет только у части дочерних структур, а у других не будет?
источник

A

Andy in Go-go!
Anton Kucherov
Я так понимаю этот метод должен использовать поля базовой структуры и поля дочерней структуры? При этом этот метод будет только у части дочерних структур, а у других не будет?
да)
источник

DM

Dmitry M in Go-go!
А чем наследование интерфейсов не устроило, зачем ограничиваться наследованием реализации?
источник

A

Andy in Go-go!
Dmitry M
А чем наследование интерфейсов не устроило, зачем ограничиваться наследованием реализации?
в моем случае скорее всего слабое знание языка
источник

AK

Anton Kucherov in Go-go!
Andy
да)
И код базовой структуры менять мы не может по условию? А тот код который использует этот метод (который есть у некоторых структур), он что будет принимать то в итоге? Конкртеную структуру или базовую или что? 🤔

Правильно ли я понимаю, что основная проблема с который вы боретесь, вам не хочется методы копипастить в каждую структуру так как он большой?
источник

A

Andy in Go-go!
да, именно в копипасте проблема, потому как его еще и поддерживать придется в случае если что-то поменяется. пример сейчас кину, опять же очень упрощенный)
источник

A

Andy in Go-go!
Anton Kucherov
И код базовой структуры менять мы не может по условию? А тот код который использует этот метод (который есть у некоторых структур), он что будет принимать то в итоге? Конкртеную структуру или базовую или что? 🤔

Правильно ли я понимаю, что основная проблема с который вы боретесь, вам не хочется методы копипастить в каждую структуру так как он большой?
источник

AK

Anton Kucherov in Go-go!
А что мешает явно все параметры передавать в 'эту большую функцию printName()? Или они там всегда разные будут?
Типа:
printName(name, param string)
источник

AK

Anton Kucherov in Go-go!
Плохо кнечно что примеры абстрагированы, потому как обычно когда такая проболема возникает, она в том как сама абстракция реализована. А отрываясь от конкретики, мы не причину чиним а костылим следствие. 😕
источник

A

Andy in Go-go!
Anton Kucherov
А что мешает явно все параметры передавать в 'эту большую функцию printName()? Или они там всегда разные будут?
Типа:
printName(name, param string)
нет, параметры всегда одни и теже, только их довольно много. Но думаю это тоже вариант, просто отвязать от общего типа и передать все параметры. Спасибо за помощь. думаю справлюсь)
источник

AK

Anton Kucherov in Go-go!
Andy
нет, параметры всегда одни и теже, только их довольно много. Но думаю это тоже вариант, просто отвязать от общего типа и передать все параметры. Спасибо за помощь. думаю справлюсь)
Ну там конкретно есть несколько вариантов. Если проблема именно: в копипасте, и мы не смотрим на суть абстракций:

- вы можете сделать так вы показали в примере, с отдельным интерфейсом.
- вы можете передать туда все параметры явно
- вы можете создать inline структуру и передавать ее в функцию, при вызове делая мапинг параметров
- вы даже можете использовать interface{} и определять что в нем лежит, внутри этой функции

Короче вариантом много. Но я конечно бы еще и подумал, а не в абстракции ли там проблема...
источник

DM

Dmitry M in Go-go!
Интерфейсы + паттерн стратегия https://youtu.be/-n6784KeQMs
источник

Н

Никита in Go-go!
Рабочие проекты размещены на
Анонимный опрос
11%
GCP
30%
AWS
35%
Своя инфраструктура
25%
Другие
Проголосовало: 57
источник

DD

Denis Dvornikov in Go-go!
Ребят, есть уже готовый тул для кодогенерации iota типов?
источник

Н

Никита in Go-go!
Никита
Рабочие проекты размещены на
Анонимный опрос
11%
GCP
30%
AWS
35%
Своя инфраструктура
25%
Другие
Проголосовало: 57
Если другие, напишите, пожалуйста, какие
источник

A

Andy in Go-go!
Anton Kucherov
Ну там конкретно есть несколько вариантов. Если проблема именно: в копипасте, и мы не смотрим на суть абстракций:

- вы можете сделать так вы показали в примере, с отдельным интерфейсом.
- вы можете передать туда все параметры явно
- вы можете создать inline структуру и передавать ее в функцию, при вызове делая мапинг параметров
- вы даже можете использовать interface{} и определять что в нем лежит, внутри этой функции

Короче вариантом много. Но я конечно бы еще и подумал, а не в абстракции ли там проблема...
Спасибо) примерно такой ответ и нужен был)
источник

S

Stom in Go-go!
Никита
Рабочие проекты размещены на
Анонимный опрос
11%
GCP
30%
AWS
35%
Своя инфраструктура
25%
Другие
Проголосовало: 57
странно что не указали Azure, вроде входит в тройку крупнейших
источник