In this letter, Dijkstra talks about readability and maintainability in a time where those topics were rarely talked about (1968). This letter was one of the main causes why modern programmers don’t have to trouble themselves with goto statements. Older languages like Java and C# still have a (discouraged) goto statement, because they (mindlessly) copied it from C, which (mindlessly) copied it from Assembly, but more modern languages like Swift and Kotlin don’t even have a goto statement anymore.
Go has
goto
too. They surely did not “mindlessly copy” it.The standard library makes use of it. So they most definitely see a warranted use-case for it.
goto
goto
statement?”OP argument against using it in high level languages may still hold though. Go may have introduced it as a systems language which allows control over alternative implementations.
The article does say that there are good cases to use goto, but they are rare and most programmers won’t ever encounter such situations. I believe the jist is that it can do nore harm than good.