Structured Concurrency
Every time you write the statement
goin a program, you should consider the question of how, and under what conditions, the goroutine you are about to start, will end.
So that’s the history of goto. Now, how much of this applies to go statements? Well… basically, all of it! The analogy turns out to be shockingly exact.
In Go, an unstructured go is almost always an anti-pattern.