先看这个程序会不会报错?select一定是顺序执行吗?这个程序启动后会出现几种结果? 程序运行会出现俩种结果 Panic: case data <- 1 尝试向已关闭的通道发送数据,这会导致 panic。 打印 “2”: 如果随机选择了 case <-shutdown,程序会打印 “2”。从已关闭的通道接收数据会立即返回该类型的零值(对于 struct{},就是空结构体)。 不会打印 “3”: 因为至少有一个 case 是可执行的(<-shutdown),所以不会执行 default 分支。