队列的一种链表简略实现

package mainimport "fmt"type Queue struct {    id int    name string    next *Queue}//Pushfunc Push(head, node *Queue){    node.next = head.next    head.next = node}//Popfunc Pop(head *Queue) (node *Queue){    temp := head    for {        if temp.next == nil{            return        }else if temp.next.next == nil{            node = temp.next            temp.next = nil            break        }        temp = temp.next    }    return}//Listfunc QList(head *Queue){    temp := head    if temp.next == nil{        fmt.Println("队列为空")        return    }    for {        fmt.Printf("| %d  %s | ", temp.next.id, temp.next.name)        temp = temp.next        if temp.next == nil{            break        }    }}func main(){    head := &Queue{}    node1 := &Queue{        id:   0,        name: "number1",        next: nil,    }    node2 := &Queue{        id : 1,        name: "number2",        next: nil,    }    Push(head, node1)    Push(head, node2)    QList(head)    fmt.Println()    p := Pop(head)    fmt.Printf("%d %s\n",p.id, p.name)    QList(head)}