Warum enthält Go die „goto'-Anweisung?

Barbara Streisand
Freigeben: 2024-11-13 16:31:02
Original
871 Leute haben es durchsucht

Why Does Go Include the 'goto' Statement?

Gos maßvolle Verwendung der „goto“-Anweisung

Angesichts ihrer Bedeutung entsteht oft Neugier auf das Vorhandensein der „goto“-Anweisung in Go Historischer Zusammenhang mit Code-Verschleierung und Flusskomplikationen. Man könnte sich fragen, warum Google sich dafür entschieden hat, es aufzunehmen.

Beim Durchsehen der Go-Standardbibliothek finden wir Fälle, in denen die „goto“-Anweisung mit Bedacht eingesetzt wird.

Zum Beispiel in Mathematik/Gamma .go-Datei vereinfacht „goto“ den Kontrollfluss. Ohne sie würde der Code zusätzliche Variablen und bedingte Prüfungen erfordern, was ihn weniger lesbar und intuitiv machen würde:

for x < 0 {
    if x > -1e-09 {
        goto small
    }
    z = z / x
    x = x + 1
}
...
small:
    if x == 0 {
        return Inf(1)
    }
    return z / ((1 + Euler*x) * x)
}
Nach dem Login kopieren

Hier macht „goto“ die Notwendigkeit einer temporären booleschen Variablen zum Verfolgen des Flusses überflüssig, was zu einem führt prägnantere und klarere Codestruktur.

Es ist wichtig zu beachten, dass die Verwendung von „goto“ in Go durch bestimmte Regeln eingeschränkt ist. 'goto' darf nicht über Variablendeklarationen oder in andere Codeblöcke springen. Diese Einschränkungen verhindern das Missbrauchspotenzial der Aussage und behalten gleichzeitig ihren Nutzen in bestimmten Szenarien wie den oben genannten.

Das obige ist der detaillierte Inhalt vonWarum enthält Go die „goto'-Anweisung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage