exercism/go/forth/stack.go
2022-08-24 14:28:45 +02:00

25 lines
372 B
Go

package forth
import "fmt"
type Stack struct {
stack []int
ptr int
}
func (s *Stack) Push(k int) {
s.stack = append(s.stack, k)
}
func (s *Stack) Pop() (int, error) {
if len(s.stack) == 0 {
return 0, fmt.Errorf("cannot pop empty stack")
}
el := s.stack[len(s.stack)-1]
s.stack = s.stack[:len(s.stack)-1]
return el, nil
}