Added 'mustPop' function which panics if slice is empty
This commit is contained in:
@@ -10,8 +10,19 @@ func peek[T any](s []T) (T, error) {
|
||||
return s[len(s)-1], nil
|
||||
}
|
||||
|
||||
func pop[T any](sp *[]T) T {
|
||||
func mustPop[T any](sp *[]T) T {
|
||||
val, err := pop(sp)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return val
|
||||
}
|
||||
|
||||
func pop[T any](sp *[]T) (T, error) {
|
||||
if len(*sp) < 1 {
|
||||
return *new(T), errors.New("Stack empty")
|
||||
}
|
||||
to_return := (*sp)[len(*sp)-1]
|
||||
*sp = (*sp)[:len(*sp)-1]
|
||||
return to_return
|
||||
return to_return, nil
|
||||
}
|
||||
|
Reference in New Issue
Block a user