Goroutines在另一个函数中运行

Goroutines在另一个函数中运行,go,Go,这可能是个愚蠢的问题,但我只是想知道 代码: func sumNumber(value int){ array1 := []int{3, 6, 7) for _, v:= range array1{ go anotherFunction(v) // goroutine function is run three times } } 我的问题是,哪个函数将首先完成,func sumname还是goroutine另一个函数 这完全取决于许多因素,尤其是“

这可能是个愚蠢的问题,但我只是想知道

代码:

func sumNumber(value int){
    array1 := []int{3, 6, 7)

    for _, v:= range array1{
        go anotherFunction(v) // goroutine function is run three times 
    }
}

我的问题是,哪个函数将首先完成,func sumname还是goroutine另一个函数

这完全取决于许多因素,尤其是“另一个函数”的作用。然而,sumNumber函数肯定会非常短暂,因为它只会启动三个go例程并退出。

没有人知道,任何事情都是可能的。首先,有3个GoRoutine在那里运行。实际上有4个函数等待完成。当并发性出现在对话中时,没有一个简单的答案。请注意,“goroutine anotherFunction”是没有意义的。Goroutines没有名字。事实上,在您的示例中,有三个goroutine执行另一个函数。你可以在这里找到你的问题的答案(在控制权返回给调用函数之前,所有三个goroutine运行到完成是可能的,也是合法的。)