Size: a a a

2020 March 29

АП

Александр Попов in Go-go!
там порядок был важен + вставка по средине = поэтому мап не прокатит
источник

АП

Александр Попов in Go-go!
условно есть список фруктов в памяти, упорядоченный. Вот туда и вставляли при каждом запросе
источник

АП

Александр Попов in Go-go!
реализовав двусвязный список
источник

ЛА

Локоть Анатолий in Go-go!
Александр Попов
вместо слайса
Эффективность по сравнению со слайсом в том, что не происходит копирование конца слайса, верно? Сначала линейно находим элемент, перед или после которого нужно вставлять новый, а затем меняем указатели.
Я не придираюсь, просто самому интересно все это осознать)
источник

АП

Александр Попов in Go-go!
ну да
источник

АП

Александр Попов in Go-go!
ну вернее для вставки по средине придется создавать новый слайс
источник

АП

Александр Попов in Go-go!
(вернее даже массив + слайс)
источник

ЛА

Локоть Анатолий in Go-go!
Спс
источник

АП

Александр Попов in Go-go!
+ нет пересоздание массив для добавления
источник

DO

Digital Owl in Go-go!
Доброго дня, на этот раз странный вопрос на самом деле. В общем пилю нечто с модулями. Очевидно для всех модулей должен быть один общий интерфейс, чтобы иметь возможность с ними работать одинаково, но вот вопрос - для каждого модуля своя собственная структура с конфигом. Каким образом в интерфейсе, например, можно указать, что метод Configure принимает конфиг как аргумент, а потом в непосредственной реализации этот аргумент объявить для каждого модуля свой. Или это чуть более чем странно и невозможно?
источник

DO

Digital Owl in Go-go!
Ну т.е. идея следующая - есть один общий интерфейс, который описывает все модули, и есть реализация модулей потом

func (module *Module1) Configure(cfg *Module1Config) {}
func (module *Module2) Configure(cfg *Module2Config) {}
etc
источник

АП

Александр Попов in Go-go!
ну тут два варианта
источник

АП

Александр Попов in Go-go!
либо сделать для конфига свой интерфейс общий с Get Set как вариант
источник

АП

Александр Попов in Go-go!
либо принимать interface{} вместо типа
источник

DP

Daniel Podolsky in Go-go!
Александр Попов
либо принимать interface{} вместо типа
непонятно, зачем бы
источник

АП

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

АП

Александр Попов in Go-go!
для метода - Configure, и интерфейс не срастется
источник

АП

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

ЕО

Евгений Омельченко in Go-go!
А зачем Configure делать частью интерфейса, если оно не имеет стабильного повторяющегося API?
источник

АП

Александр Попов in Go-go!
Digital Owl
Доброго дня, на этот раз странный вопрос на самом деле. В общем пилю нечто с модулями. Очевидно для всех модулей должен быть один общий интерфейс, чтобы иметь возможность с ними работать одинаково, но вот вопрос - для каждого модуля своя собственная структура с конфигом. Каким образом в интерфейсе, например, можно указать, что метод Configure принимает конфиг как аргумент, а потом в непосредственной реализации этот аргумент объявить для каждого модуля свой. Или это чуть более чем странно и невозможно?
есть еще вариант, конфиг принимать в конструкторе структры, а Configure вообще отпилить
источник