@progerstas

Что использовать?

Мне нужен тип данных для стека, в нем будут элементы разного типа. Что мне использовать?
  • Вопрос задан
  • 235 просмотров
Решения вопроса 2
uvelichitel
@uvelichitel Куратор тега Go
habrahabr.ru/users/uvelichitel
Стек проще всего сделать на односвязном списке, как в упомянутом https://pkg.go.dev/github.com/golang-collections/c... Но можно сделать стек и на массиве, мне тоже было интересно и я поднимал вопрос на stackoverflow https://stackoverflow.com/questions/28541609/looki... На массиве меньше аллокаций. Относительно типа элементов - на мой взгляд реализации с пустыми интерфейсами носят методический и демонстрационный характер. На производстве применяют решения с конкретными типами. Надобность в стеке элементов разного типа наводит на мысли о сырой архитектуре. Пробуйте конкретизировать тип. По крайней мере пусть будет интерфейс необходимых методов. Вы же собираетесь как то единообразно использовать элементы этого стека, значит им нужны будут методы использования. Но не пустой интерфейс, как по мне.
Ответ написан
Комментировать
mmmaaak
@mmmaaak
https://pkg.go.dev/github.com/golang-collections/c... использовать готовый стек, складывать туда все как пустые интерфейсы, и на выходе кастить к нужным типам и проверять успешность каста
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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