Back to questions
МВидео
Middle+
1
Расскажи про стек, с чем работаешь?
Companies where asked
Answer from AI
sobes.tech AI
В работе со стеком (stack) в программировании обычно подразумевается структура данных с принципом LIFO (Last In, First Out).
В Go стек можно реализовать с помощью срезов ([]T), где добавление элемента происходит через append, а удаление — через срез без последнего элемента.
Пример простого стека на Go:
type Stack []int
func (s *Stack) Push(v int) {
*s = append(*s, v)
}
func (s *Stack) Pop() (int, bool) {
if len(*s) == 0 {
return 0, false
}
index := len(*s) - 1
elem := (*s)[index]
*s = (*s)[:index]
return elem, true
}
В реальных проектах стек используется для обхода деревьев, парсинга выражений, реализации алгоритмов и т.п. В Go часто применяю срезы как стек, так как это эффективно и просто.