从通道读取数据时,golang进度挂起

I have to write a rabbitmq reconnector,and this is what I refrence to: https://gist.github.com/svcavallar/be2d40953eaf27842cba2d46de9c1fb1

But when I read data from channel rabbitCloseError, my progress hang on... i have no idea whats wrong.

Here belows my codes:

```

    logger.Infof("Starting message listenner...")
    var rabbitErr *amqp.Error
    var ch *amqp.Channel

    // setup a reconnector
    for {
            rabbitErr = <-rabbitCloseError // hanging here!!
            if rabbitErr != nil {
                logger.Infof("Reconnecting")
                _ = l.rabbitClient.InitConn()
            }
            if ch == nil {
                logger.Infof("Creating channel")

                ch, _ = l.rabbitClient.RabbitmqConn.Channel()
                reportQ, err := ch.QueueDeclare(
                    "filereport", // name
                    true,         // durable
                    false,        // delete when unused
                    false,        // exclusive
                    false,        // no-wait
                    l.rabbitClient.QArguments, // arguments
                )
                if err != nil {
                    logger.Errorf("Declare queue report failed, error: %+v", err)
                }
                // set prefetch one
                _ = ch.Qos(1, 0, false)
                msgs, err := ch.Consume(
                    reportQ.Name, // queue
                    "",           // consumer
                    false,        // auto-ack
                    false,        // exclusive
                    false,        // no-local
                    false,        // no-wait
                    nil,          // args
                )
                if err != nil {
                    logger.Errorf("Decare consumer failed, error: %+v", err)
                }
                go l.ConsumeMsgs(msgs)
            }
    }
}

```

Can anyone help me about this? thanks in advance!