Complete the code to create a priority queue using a heap in Go.
pq := &PriorityQueue{}
heap.[1](pq)The heap.Init function initializes the priority queue so it can be used properly.
Complete the code to add an item to the priority queue.
item := &Item{value: "task1", priority: 3}
heap.[1](pq, item)The heap.Push function adds a new item to the priority queue while maintaining the heap property.
Fix the error in the code to remove the highest priority item from the queue.
item := heap.[1](pq).(*Item) return item.value
The heap.Pop function removes and returns the highest priority item from the priority queue.
Fill both blanks to create a priority queue and add an item with priority 5.
pq := &PriorityQueue{}
heap.[1](pq)
heap.[2](pq, &Item{value: "task2", priority: 5})First, heap.Init initializes the priority queue. Then, heap.Push adds the new item with priority 5.
Fill all three blanks to create a priority queue, add an item, and then remove the highest priority item.
pq := &PriorityQueue{}
heap.[1](pq)
heap.[2](pq, &Item{value: "task3", priority: 1})
item := heap.[3](pq).(*Item)
return item.valueInitialize with heap.Init, add with heap.Push, and remove the highest priority item with heap.Pop.
