मैं निम्नलिखित कोड है: जो है मैं क्या होने की अपेक्षाएक goroutine के अंदर fmt.Println क्यों एक लाइन मुद्रित करता है?
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)
}()
}
मैं कोड है कि एक goroutine में बफर से पढ़ता है की जरूरत नहीं है, तो यह इस प्रकार का संदेश, आउटपुट:
:zelazny.freenode.net NOTICE * :*** Looking up your hostname...
हालांकि, इसे एक goroutine प्रिंट के अंदर कुछ भी नहीं है।
कोई बता सकता है कि ऐसा क्यों है?
महान विवरण, जेम्स के लिए धन्यवाद:
यहाँ एक उदाहरण है। मुझे निश्चित रूप से लगता है कि चैनल जो मैं ढूंढ रहा हूं। –