Я знаю, что обмен строк 15 и 17 не дает ошибок, однако я не понимаю, почему обмен не дает тупиковую ситуацию
package main
import (
"fmt"
)
func greet(c chan string) {
fmt.Println("Hello " + <-c + "!")
}
func main() {
c := make(chan string)
//line15
c <- "John"
//line17
go greet(c)
}
фатальная ошибка: все программы находятся в спящем режиме - тупик!