Goroutine не выполняется, если время. Сон включен
Следующий код работает отлично:
package main
import (
"fmt"
)
func my_func(c chan int){
fmt.Println(<-c)
}
func main(){
c := make(chan int)
go my_func(c)
c<-3
}
Однако, если я изменю
c<-3
в
time.Sleep(time.Second)
c<-3
Мой код не выполняется.
Я чувствую, что как-тоmain
возвращается доmy_func
завершает выполнение, но кажется, что добавление паузы не должно иметь никакого эффекта. Я полностью потерян на этом простом примере, что здесь происходит?