如何阻塞一个goroutine
下面的方法都可以永远阻塞当前的goroutine
方法1:从一个不发送数据channel中接收数据
<-make(chan struct{})
// or
<-make(<-chan struct{})
方法2:向不接收数据的channel中发送数据
make(chan struct{}) <- struct{}{}
// or
make(chan<- struct{}) <- struct{}{}
方法3:从空的channel中接收数据
<-chan struct{}(nil)
方法4:向空channel中发送数据
chan struct{}(nil) <- struct{}{}
方法5:使用select
select{}