当我运行此代码时,我不明白为什么在打印X后它不打印其他情况。我希望我应该看到X打印出来三秒钟,然后最后从server2
package main
func server1(ch chan string) {
time.Sleep(6 * time.Second)
ch <- "from server1"
}
func server2(ch chan string) {
time.Sleep(3 * time.Second)
ch <- "from server2"
}
func main() {
output1 := make(chan string)
output2 := make(chan string)
go server1(output1)
go server2(output2)
select {
case s1 := <-output1:
fmt.Println(s1)
case s2 := <-output2:
fmt.Println(s2)
default:
fmt.Println(“X”)
}
}
qq_笑_17
相关分类