()
| 30 | } |
| 31 | |
| 32 | func (q *Queue) Pop() interface{} { |
| 33 | q.l.Lock() |
| 34 | defer q.l.Unlock() |
| 35 | iter := q.data.Back() |
| 36 | if nil == iter { |
| 37 | return nil |
| 38 | } |
| 39 | v := iter.Value |
| 40 | q.data.Remove(iter) |
| 41 | return v |
| 42 | } |
| 43 | |
| 44 | //返回pop列表和实际长度 |
| 45 | func (q *Queue) Pops(num int) ([]interface{}, int) { |