On Thu, Oct 10, 2019 at 9:14 PM 陈清和 <[email protected]> wrote:
>
> src/container/heap/heap.go:
>
> ```go
> func Pop(h Interface) interface{} {
> n := h.Len() - 1
> h.Swap(0, n)
> down(h, 0, n)
> return h.Pop()
> }
> ```
>
> While the h is empty, also the h.Len() equals to 0,why not return nil in
> advance? In the current way, we have to do boundary check in implement of
> Swap, otherwise there will be panic.
This is not really different from the fact that
var s []int
fmt.Println(s[0])
will also panic. Yes, if you don't know how many elements you have,
you need to check the length.
Ian
--
You received this message because you are subscribed to the Google Groups
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/golang-nuts/CAOyqgcVjycg_%2BfGJvUzXrq4FARsOz45RTPSi2Fu3HFjDvfc5bg%40mail.gmail.com.