严格的答案是您 可以 做到。这可能不是一个好主意。下面的代码可以做到这一点:
var x int
go func() {
x = doSomething()
}()
这将产生一个新的goroutine,它将进行计算doSomething()
,然后将结果分配给x
。问题是:您将如何使用x
原始goroutine?您可能要确保使用它完成了生成的goroutine,以便您没有竞争条件。但是,如果要执行此操作,则需要一种与goroutine进行通信的方法,并且如果可以执行此操作,为什么不仅仅使用它来将值发送回去呢?