面试题答案
一键面试package main
import (
"fmt"
)
func main() {
ch1 := make(chan int)
ch2 := make(chan int)
go func() {
for i := 0; i < 5; i++ {
ch1 <- i
}
close(ch1)
}()
go func() {
for i := 10; i < 15; i++ {
ch2 <- i
}
close(ch2)
}()
for {
select {
case data, ok := <-ch1:
if!ok {
fmt.Println("ch1 closed")
return
}
fmt.Printf("Received from ch1: %d\n", data)
case data, ok := <-ch2:
if!ok {
fmt.Println("ch2 closed")
return
}
fmt.Printf("Received from ch2: %d\n", data)
}
}
}