Go实现如下,有大神可以指导一下有什么方便的队列使用吗

func levelOrder( root *TreeNode ) [][]int {
    // write code here 
    if root == nil {
        return make([][]int, 0, 0)
    }
    var result = make([][]int, 0, 0)
    var queue = make([]TreeNode, 1, 10)
    queue[0] = *root
    for len(queue) != 0 {
        length := len(queue)
        var levelResult = make([]int, 0, 0)
        for i:= 0; i < length; i++ {
            levelResult = append(levelResult, queue[i].Val)
            if queue[i].Left != nil {
                queue = append(queue, *queue[i].Left)
            }
            if queue[i].Right != nil {
                queue = append(queue, *queue[i].Right)
            }
        }
        queue = queue[length:]
        result = append(result, levelResult)
    }
    return result
}