2016-11-06 20 views
-7

我是Go的新手。我的问题是运行带或不带Go的函数有什么区别。例如在一个.go文件中,我有一个test()函数,当我调用这个函数时,“test()”和“go test()”有什么区别。Golang有什么区别可以运行一个功能

+0

阻塞go test("sue")的问题是“什么是够程”。看看https://gobyexample.com/goroutines。 – nilsmagnus

+5

如果您是Go的新手,那么您可以前往https://tour.golang.org进行游览,然后游玩并再次参观。然后问SO。 – Volker

+0

@nilsmagnus谢谢。 – michael

回答

1

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)

Go playground

+0

非常感谢! – michael