package main import ( "fmt" "time" ) func main() { ch1 := make(chan string) ch2 := make(chan string) // 模拟两个不同来源的“数据源” go func() { time.Sleep(1 * time.Second) ch1 <- "result from ch1 (1s)" }() go func() { time.Sleep(2 * time.Second) ch2 <- "result from ch2 (2s)" }() fmt.Println("等待 ch1 或 ch2 的结果...(谁先来处理谁)") select { case v := <-ch1: fmt.Println("收到 ch1:", v) case v := <-ch2: fmt.Println("收到 ch2:", v) } fmt.Println("main 结束") }