为什么在调用函数时使用 `go` 关键字?

我正在浏览一个 TCP 服务器的例子。他们定义了一个函数并调用它:

go handleRequest(conn)

我觉得看到go关键字很奇怪,所以我没有尝试:

handleRequest(conn)

令我惊讶的是,这奏效了!

  • 如果两者的工作方式相同,为什么还要使用go关键字?

  • 如果它们的工作方式不同,有什么区别?

  • 是否有特定的风格指南可供使用,还是您应该仅使用个人喜好?


慕的地6264312
浏览 280回答 2
2回答

慕虎7371278

go启动一个goroutine,由golang运行时管理。它可以运行在当前的操作系统线程上,也可以自动运行在不同的操作系统线程上。这个可以参考基础golang文档,比如谷歌搜索关键词goroutine中的一项是golang concurrency。

皈依舞

当您在使该 func 运行到 goRoutine 的 func 之前使用 Go 关键字时,就像一个 Java 线程,并且是并发的 go 方式,更多信息请点击此处。祝你好运
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go