For example:
func foo() {
// How can I exit the goroutine here?
}
func bar() {
foo()
}
func goroutine() {
for {
bar()
}
}
func main() {
go goroutine()
}
How can I exit the goroutine directly from foo()
or bar()
? I was thinking of maybe using panic
and recover
, but I am not sure exactly how they work. (With traditional exception handling, I would just wrap the body of goroutine()
in a try
block and throw an exception when I want to exit.)
EDIT: If I used panic
, do I even need to recover()
?