func (pq *priorityQueueImpl) Peek() interface{} {
	if pq.IsEmpty() {
		panic("Cannot peek item because priority queue is empty")
	}
	return pq.items[0]
}
Peek returns the top item of the priority queue
package collection
import (
	"container/heap"
)
type (
	priorityQueueImpl struct {
		compareLess func(this interface{}, other interface{}) bool
		items       []interface{}
	}
)
func NewPriorityQueue(compareLess func(this interface{}, other interface{}) bool) Queue {
	return &priorityQueueImpl{
		compareLess: compareLess,
	}
}