gpt4 book ai didi

go - Golang 运行一个函数有没有 go 有什么区别

转载 作者:数据小太阳 更新时间:2023-10-29 03:47:41 25 4
gpt4 key购买 nike

我是 Go 的新手。我的问题是在有或没有 Go 的情况下运行函数有什么区别。例如,在一个 .go 文件中,我有一个 test() 函数,当我调用这个函数时,“test()”和“go test()”有什么区别。

最佳答案

test() 将在您调用时运行。 go test() 将异步运行,完全独立于 test()

如果你有这样的程序:

func main() {
test("bob")
go test("sue")
}

func test(msg string) {
fmt.Printf("hello %v", msg)
}

你只会看到输出

hello bob

因为 main 函数的执行直接跳到最后。没有什么等待 go test("sue") 完成,因为它是它自己的独立函数。

您可以通过输入 time.Sleep 或使用 fmt.Scanln(&input) 的命令行输入来阻止 go test("sue")

Go playground

关于go - Golang 运行一个函数有没有 go 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40453049/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com