Es gibt nur SEEEEEHR selten (bis gar nicht) wirkliche Situationen, in denen ein goto sinnvoll ist.
Gibt es nicht
An sich gibt es für jeden Anwendungsfall von Goto vernünftigere schönere Lösungswege. Deshalb ist Goto ja mittlerweile kaum noch in Sprachen zu finden.
Es gibt schon Anwendungsfälle für goto, Schleifen sind ja auch nur Abstraktionen die auf goto aufbauen. Wenn die Abstraktion "Schleife" einen Anwendungsfall nicht ordentlich abdeckt, lohnt sich auch die Verwendung der konkreteren Konstrukte.
Möchte ich z.B. zwei ineinanderverschachtelte Schleifen vorzeitig beenden, könnte ich entweder ein Flag in beiden Schleifen testen, für n^2 zusätzliche Tests, oder einfach mit einem goto hinter die äußere Schleife springen. Ein goto ist in dem Fall die bessere Lösung. Ein anderes Beispiel wäre Fehlerbehandlung in C, bei dem ein goto in den "Aufräumblock" ein häufiges anzutreffendes Muster ist. Moderne Sprachen haben darauf reagiert und Alternativen eingebaut, für die Beispiele wären das etwa das "labeled break" in Java oder Exceptions. Du weißt das natürlich, aber die Behauptung goto hätte keinen Anwendungsfall stimmt dann nicht wirklich.
Goto ist übrigens auch nicht böse! Hat hier zwar keiner gesagt, aber ich denke es gibt ein sehr unsägliches Paper, das so etwas behauptet. Völliger Blödsinn!