diff --git a/sliceQueue.go b/sliceQueue.go index ba68ebd..d54c8f6 100644 --- a/sliceQueue.go +++ b/sliceQueue.go @@ -1,8 +1,13 @@ package main +import "errors" + // Helper functions for slices, to make them behave more like stacks -func peek[T any](s []T) T { - return s[len(s)-1] +func peek[T any](s []T) (T, error) { + if len(s) < 1 { + return *new(T), errors.New("Stack empty") + } + return s[len(s)-1], nil } func pop[T any](sp *[]T) T {