Middle+
Tell me about the stack you work with.
sobes.tech AI
Answer from AI
In programming, working with a stack usually refers to a data structure with the LIFO (Last In, First Out) principle.
In Go, a stack can be implemented using slices ([]T), where adding an element is done via append, and removing an element is done by slicing without the last element.
Example of a simple stack in 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
}
In real projects, a stack is used for tree traversal, expression parsing, algorithm implementation, etc. In Go, slices are often used as stacks because it is efficient and simple.