Files
codekata-golang/code_kata_230810/queue.go
2023-08-10 11:46:24 +08:00

29 lines
375 B
Go

package main
type Queue []interface{}
func MakeQueue() *Queue {
return &Queue{}
}
func (q Queue) IsEmpty() bool {
return len(q) == 0
}
func (q Queue) Len() int {
return len(q)
}
func (q *Queue) EnQueue(item interface{}) {
*q = append(*q, item)
}
func (q *Queue) DeQueue() interface{} {
if q.IsEmpty() {
return nil
}
ret := (*q)[0]
*q = (*q)[1:]
return ret
}