Почему fmt.Println внутри goroutine не печатает строку?

У меня есть следующий код:

package main

import "net"
import "fmt"
import "bufio"

func main() {
    conn, _ := net.Dial("tcp", "irc.freenode.net:6667")

    reader := bufio.NewReader(conn)
    go func() {
        str, err := reader.ReadString('\n')
        if err != nil {
            // handle it
            fmt.Println(err)
        }
        fmt.Println(str)
    }()

}

Если у меня нет кода, который читает из буфера в программе, он выводит сообщение, подобное этому, и я ожидаю, что это произойдет:

:zelazny.freenode.net NOTICE * :*** Looking up your hostname...

Тем не менее, наличие внутри горутина ничего не печатает.

Может кто-нибудь объяснить, почему это так?

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

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