-7
我是Go的新手。我的问题是运行带或不带Go的函数有什么区别。例如在一个.go文件中,我有一个test()函数,当我调用这个函数时,“test()”和“go test()”有什么区别。Golang有什么区别可以运行一个功能
我是Go的新手。我的问题是运行带或不带Go的函数有什么区别。例如在一个.go文件中,我有一个test()函数,当我调用这个函数时,“test()”和“go test()”有什么区别。Golang有什么区别可以运行一个功能
test()
将在您调用它时运行。 go test()
将自行异步运行,完全独立于test()
。
如果你有一个这样的程序:
func main() {
test("bob")
go test("sue")
}
func test(msg string) {
fmt.Printf("hello %v", msg)
}
你只能看到输出
你好鲍勃
因为main
功能执行,一直到结束跳跃。 go test("sue")
没有什么可以完成,因为它是它自己的独立功能。
您可以通过将在time.Sleep
或命令行输入与fmt.Scanln(&input)
非常感谢! – michael
阻塞
go test("sue")
的问题是“什么是够程”。看看https://gobyexample.com/goroutines。 – nilsmagnus如果您是Go的新手,那么您可以前往https://tour.golang.org进行游览,然后游玩并再次参观。然后问SO。 – Volker
@nilsmagnus谢谢。 – michael