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
}

playgound_1

Однако, если я изменю

c<-3

в

time.Sleep(time.Second)
c<-3

playground_2

Мой код не выполняется.

Я чувствую, что как-тоmain возвращается доmy_func завершает выполнение, но кажется, что добавление паузы не должно иметь никакого эффекта. Я полностью потерян на этом простом примере, что здесь происходит?

Ответы на вопрос(1)

Ваш ответ на вопрос