Как объясняется на примере goby https://gobyexample.com/channels, там написано
Когда мы запускаем программу, сообщение «ping» успешно передается из одной программы в другую по нашему каналу. но, как я вижу, похоже, что в коде есть только одна go подпрограмма, ie, go func (text string) { messages <- "ping"}()
, поэтому я не знаю, из какой подпрограммы go приходит сообщение "ping" и в котором go рутина ставится
package main
import "fmt"
func main() {
messages := make(chan string)
go func (text string) { messages <- "ping"}()
msg := <-messages
fmt.Println(msg)
}