golang实现队列
时间: 2023-11-02 08:19:44 浏览: 235
队列的实现
要在Golang中实现一个队列,可以使用切片(slice)来作为底层数据结构。下面是一个简单的例子:
```go
package main
import "fmt"
type Queue struct {
items []int
}
func (q *Queue) Enqueue(item int) {
q.items = append(q.items, item)
}
func (q *Queue) Dequeue() int {
if len(q.items) == 0 {
panic("Queue is empty")
}
item := q.items[0]
q.items = q.items[1:]
return item
}
func main() {
q := Queue{}
q.Enqueue(1)
q.Enqueue(2)
q.Enqueue(3)
fmt.Println(q.Dequeue()) // 输出: 1
fmt.Println(q.Dequeue()) // 输出: 2
fmt.Println(q.Dequeue()) // 输出: 3
}
```
在上面的例子中,我们定义了一个`Queue`结构体,其中包含一个切片`items`用于存储队列元素。`Enqueue`方法用于将元素添加到队列的末尾,`Dequeue`方法用于从队列的开头移除并返回元素。
运行以上代码,将输出队列中的元素依次为1、2、3。这是一个基本的队列实现,你可以根据自己的需求进行扩展和改进。
阅读全文