main
함수의 for loop의 채널에 임의의 문자열을 넣으면
그 아래 블록의 코드보다
채널의 수신부 코드가 먼저 실행된다.
package main
import (
"fmt"
)
func test (task chan string) {
for {
select {
case asdf := <-task:
fmt.Println("test1", asdf)
break
}
}
}
func main() {
task := make(chan string)
go test(task)
loop:
for {
select {
case task <- "ㅅㄷㄴ":
fmt.Println("test2")
break loop
}
}
}
실행결과
> test1 ㅅㄷㄴ
> test2