扩展已有类型的
程序结构
project
queue/
- queue.go
entry/
- entry.go
-go.mod
代码
module carmen.com/study
go 1.23
package queue
type Queue []int
func (q *Queue) Push(v int) {
*q = append(*q,v)
}
func (q *Queue) Pop() int {
head := (*q)[0]
*q = (*q)[1:]
return head
}
func (q *Queue) IsEmpty() bool{
return len(*q) ==0
}
package main
import (
"carmen.com/study/queue"
"fmt"
)
func main() {
q := queue.Queue{1}
q.Push(2)
q.Push(3)
q.Push(4)
fmt.Print(q)
fmt.Println(q.Pop())
fmt.Println(q.Pop())
fmt.Println(q.Pop())
fmt.Println(q.IsEmpty())
fmt.Println(q.Pop())
fmt.Println(q.IsEmpty())
}
网友评论