golang channel 小问题请教 财富值34

2016-10-24 10:32发布

代码1

package main  import (     "fmt" )  func main() {     ch := make(chan int)     ch <- 1     fmt.Println(<-ch) // 1  }

代码2

package main  import (     "fmt" )  func main() {     ch := make(chan int, 1)     ch <- 1     fmt.Println(<-ch) // 1  }

问题:
为什么代码1会报死锁的错误,而代码2不会报错?

友情提示: 问题已经关闭,关闭后问题禁止继续编辑,回答。