GO学习笔记(7) - 自建队列代码

2021-07-03  本文已影响0人  卡门001

扩展已有类型的

程序结构

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())
}
上一篇 下一篇

猜你喜欢

热点阅读