实际上,如果您想要的是基本且易于使用的fifo队列,则slice可满足您的所有需求。queue := make([]int, 0)// Push to the queuequeue = append(queue, 1)// Top (just get next element, don't remove it)x = queue[0]// Discard top elementqueue = queue[1:]// Is empty ?if len(queue) == 0 { fmt.Println("Queue is empty !")}当然,我们假设我们可以信任append和slice的内部实现,从而避免了无用的调整大小和重新分配。对于基本用法,这已经足够了。