|
|
|
@ -5,7 +5,7 @@ import "errors"
|
|
|
|
|
// Helper functions for slices, to make them behave more like stacks
|
|
|
|
|
func peek[T any](s []T) (T, error) {
|
|
|
|
|
if len(s) < 1 {
|
|
|
|
|
return *new(T), errors.New("Stack empty")
|
|
|
|
|
return *new(T), errors.New("stack empty")
|
|
|
|
|
}
|
|
|
|
|
return s[len(s)-1], nil
|
|
|
|
|
}
|
|
|
|
@ -20,7 +20,7 @@ func mustPop[T any](sp *[]T) T {
|
|
|
|
|
|
|
|
|
|
func pop[T any](sp *[]T) (T, error) {
|
|
|
|
|
if len(*sp) < 1 {
|
|
|
|
|
return *new(T), errors.New("Stack empty")
|
|
|
|
|
return *new(T), errors.New("stack empty")
|
|
|
|
|
}
|
|
|
|
|
to_return := (*sp)[len(*sp)-1]
|
|
|
|
|
*sp = (*sp)[:len(*sp)-1]
|
|
|
|
|