code: func (h *heapData) Less(i, j int) bool {
  	if i > len(h.queue) || j > len(h.queue) {
  		return false
  	}
  	itemi, ok := h.items[h.queue[i]]
  	if !ok {
  		return false
  	}
  	itemj, ok := h.items[h.queue[j]]
  	if !ok {
  		return false
  	}
  	return h.lessFunc(itemi.obj, itemj.obj)
  }
docs: // Less compares two objects and returns true if the first one should go
  // in front of the second one in the heap.