我来自Node背景,并试图通过查看代码示例进入Go。
我觉得很奇怪,代码主要是同步,甚至与数据库连接和沟通,例如
func main() {
// Create a new client and connect to the server
client, err := mongo.Connect(context.TODO(), options.Client().ApplyURI(uri))
if err != nil {
panic(err)
}
}
这不会阻塞线程,直到DB发送回一个响应?如果不是,那怎么可能呢?
是这样的:
在Node中,一切都不是阻塞的,除非你说它不是,await
或回调。
在Go中,一切都是阻塞的,直到你说不一样,go
。