.Pop()elements
在许多其他语言中,"弹出"列表的第一个元素是一个单行,这使我相信我的实现在下面是草率和冗长.有没有更好的办法?
type Queue struct {
elements []interface{}
}
func (queue *Queue) Push(element interface{}) {
queue.elements = append(queue.elements, element)
}
func (queue *Queue) Pop() interface{} {
element := queue.elements[0]
if len(queue.elements) > 1 {
queue.elements = queue.elements[1:]
} else {
queue.elements = make([]interface{}, 0)
}
return element
}
Queuelen(queue.elements) == 01> Everton..:
你试过这些吗?
从队列弹出
x, a = a[0], a[1:]
从堆栈弹出
x, a = a[len(a)-1], a[:len(a)-1]
推
a = append(a, x)
来自:https://code.google.com/p/go-wiki/wiki/SliceTricks