queue.go
func (queue *queue) Pop() interface{} {
	if queue.size == 0 {
		return nil
	}

	if queue.size < queue.cap/4 && queue.size > 4 {
		queue.resize(queue.cap / 2)
	}

	result := queue.elements[queue.start%int64(queue.cap)]
	queue.start++
	queue.size--

	return result
}
func (queue *queue) Pop() interface{} {
	if queue.size == 0 {
		return nil
	}

	if queue.size < queue.cap/4 && queue.size > 4 {
		queue.resize(queue.cap / 2)
	}

	result := queue.elements[queue.start%int64(queue.cap)]
	queue.start++
	queue.size--

	return result
}
func ( queue * queue ) Pop ( ) interface { } { if queue . size == 0 { return nil } if queue . size < queue . cap / 4 && queue . size > 4 { queue . resize ( queue . cap / 2 ) } result := queue . elements [ queue . start % int64 ( queue . cap ) ] queue . start ++ queue . size -- return result }
// Pop removes an element from the front of the queue.
Pop removes an element from the front of the queue .