例如:
func foo() {
// How can I exit the goroutine here?
}
func bar() {
foo()
}
func goroutine() {
for {
bar()
}
}
func main() {
go goroutine()
}
如何直接从foo()
or退出 goroutine bar()
?我在想也许使用panic
and recover
,但我不确定它们是如何工作的。(使用传统的异常处理,我只需将 的主体包装goroutine()
在一个try
块中,并在我想退出时抛出异常。)
编辑:如果我用过panic
,我什至需要recover()
吗?