func main() {
forever := make(chan bool)
var msgs = "12123123123123"
//log.Printf("[*] Waiting for messages,To exit press CTRL+c")
go func() {
for d := range msgs {
//实现我们要处理的逻辑函数
log.Printf("Received a message: %d", d)
}
}()
<-forever
}但是我单独拿出来,这样写,就会deadlock
2019/06/26 01:42:14 Received a message: 0
2019/06/26 01:42:14 Received a message: 1
2019/06/26 01:42:14 Received a message: 2
2019/06/26 01:42:14 Received a message: 3
2019/06/26 01:42:14 Received a message: 4
2019/06/26 01:42:14 Received a message: 5
2019/06/26 01:42:14 Received a message: 6
2019/06/26 01:42:14 Received a message: 7
2019/06/26 01:42:14 Received a message: 8
2019/06/26 01:42:14 Received a message: 9
2019/06/26 01:42:14 Received a message: 10
2019/06/26 01:42:14 Received a message: 11
2019/06/26 01:42:14 Received a message: 12
2019/06/26 01:42:14 Received a message: 13
fatal error: all goroutines are asleep - deadlock!
goroutine 1 [chan receive]:
main.main()
D:/work/go/src/rabbitmqDemo/mainSimplePublish.go:20 +0x8b
Process finished with exit code 2