CINXE.COM
Goto - Wikipedia
<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-sticky-header-enabled vector-toc-available" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>Goto - Wikipedia</title> <script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-sticky-header-enabled vector-toc-available";var cookie=document.cookie.match(/(?:^|; )enwikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"f1bfdbf7-8630-4930-87da-f2f0580b4139","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Goto","wgTitle":"Goto","wgCurRevisionId":1267522028,"wgRevisionId":1267522028,"wgArticleId":23307350,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Articles with short description","Short description is different from Wikidata","All articles with unsourced statements","Articles with unsourced statements from November 2019","CS1 maint: numeric names: authors list","CS1: unfit URL","BASIC commands","Control flow","Edsger W. Dijkstra"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"Goto","wgRelevantArticleId":23307350,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":false,"wgFlaggedRevsParams":{"tags":{"status":{"levels":1}}},"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":50000,"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q750997","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGELevelingUpEnabledForUser":false}; RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.cite.styles":"ready","ext.pygments":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready"};RLPAGEMODULES=["ext.cite.ux-enhancements","ext.pygments.view","mediawiki.page.media","ext.scribunto.logs","site","mediawiki.page.ready","mediawiki.toc","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.ReferenceTooltips","ext.gadget.switcher","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.interface","ext.cx.eventlogging.campaigns","ext.cx.uls.quick.actions","wikibase.client.vector-2022","ext.checkUser.clientHints","ext.quicksurveys.init","ext.growthExperiments.SuggestedEditSession"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=en&modules=ext.cite.styles%7Cext.pygments%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediamessages.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&only=styles&skin=vector-2022"> <script async="" src="/w/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&modules=site.styles&only=styles&skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.22"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta property="og:image" content="https://upload.wikimedia.org/wikipedia/commons/c/cc/GOTOkey%28ZXSpectrum%29.jpg"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="1200"> <meta property="og:image" content="https://upload.wikimedia.org/wikipedia/commons/c/cc/GOTOkey%28ZXSpectrum%29.jpg"> <meta property="og:image:width" content="800"> <meta property="og:image:height" content="800"> <meta property="og:image:width" content="640"> <meta property="og:image:height" content="640"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="Goto - Wikipedia"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//en.m.wikipedia.org/wiki/Goto"> <link rel="alternate" type="application/x-wiki" title="Edit this page" href="/w/index.php?title=Goto&action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipedia (en)"> <link rel="EditURI" type="application/rsd+xml" href="//en.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://en.wikipedia.org/wiki/Goto"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en"> <link rel="alternate" type="application/atom+xml" title="Wikipedia Atom feed" href="/w/index.php?title=Special:RecentChanges&feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="auth.wikimedia.org"> </head> <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-Goto rootpage-Goto skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Jump to content</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" title="Main menu" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Main menu" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Main menu</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Main menu</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">hide</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigation </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Main_Page" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-contents" class="mw-list-item"><a href="/wiki/Wikipedia:Contents" title="Guides to browsing Wikipedia"><span>Contents</span></a></li><li id="n-currentevents" class="mw-list-item"><a href="/wiki/Portal:Current_events" title="Articles related to current events"><span>Current events</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Special:Random" title="Visit a randomly selected article [x]" accesskey="x"><span>Random article</span></a></li><li id="n-aboutsite" class="mw-list-item"><a href="/wiki/Wikipedia:About" title="Learn about Wikipedia and how it works"><span>About Wikipedia</span></a></li><li id="n-contactpage" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us" title="How to contact Wikipedia"><span>Contact us</span></a></li> </ul> </div> </div> <div id="p-interaction" class="vector-menu mw-portlet mw-portlet-interaction" > <div class="vector-menu-heading"> Contribute </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="/wiki/Help:Contents" title="Guidance on how to use and edit Wikipedia"><span>Help</span></a></li><li id="n-introduction" class="mw-list-item"><a href="/wiki/Help:Introduction" title="Learn how to edit Wikipedia"><span>Learn to edit</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:Community_portal" title="The hub for editors"><span>Community portal</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Special:RecentChanges" title="A list of recent changes to Wikipedia [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_upload_wizard" title="Add images or other media for use on Wikipedia"><span>Upload file</span></a></li><li id="n-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages"><span>Special pages</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/Main_Page" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/wikipedia.png" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="Wikipedia" src="/static/images/mobile/copyright/wikipedia-wordmark-en.svg" style="width: 7.5em; height: 1.125em;"> <img class="mw-logo-tagline" alt="The Free Encyclopedia" src="/static/images/mobile/copyright/wikipedia-tagline-en.svg" width="117" height="13" style="width: 7.3125em; height: 0.8125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Special:Search" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Search Wikipedia [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia" aria-label="Search Wikipedia" autocapitalize="sentences" title="Search Wikipedia [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Personal tools"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Change the appearance of the page's font size, width, and color" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Appearance" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Appearance</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://donate.wikimedia.org/?wmf_source=donate&wmf_medium=sidebar&wmf_campaign=en.wikipedia.org&uselang=en" class=""><span>Donate</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:CreateAccount&returnto=Goto" title="You are encouraged to create an account and log in; however, it is not mandatory" class=""><span>Create account</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:UserLogin&returnto=Goto" title="You're encouraged to log in; however, it's not mandatory. [o]" accesskey="o" class=""><span>Log in</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="Log in and more options" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Personal tools" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Personal tools</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="User menu" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="https://donate.wikimedia.org/?wmf_source=donate&wmf_medium=sidebar&wmf_campaign=en.wikipedia.org&uselang=en"><span>Donate</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&returnto=Goto" title="You are encouraged to create an account and log in; however, it is not mandatory"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Create account</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:UserLogin&returnto=Goto" title="You're encouraged to log in; however, it's not mandatory. [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Log in</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pages for logged out editors <a href="/wiki/Help:Introduction" aria-label="Learn more about editing"><span>learn more</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Contents" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Contents</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">hide</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">(Top)</div> </a> </li> <li id="toc-Usage" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Usage"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>Usage</span> </div> </a> <ul id="toc-Usage-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Criticism" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Criticism"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>Criticism</span> </div> </a> <ul id="toc-Criticism-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Common_usage_patterns" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Common_usage_patterns"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>Common usage patterns</span> </div> </a> <ul id="toc-Common_usage_patterns-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Alternatives" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Alternatives"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>Alternatives</span> </div> </a> <button aria-controls="toc-Alternatives-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Alternatives subsection</span> </button> <ul id="toc-Alternatives-sublist" class="vector-toc-list"> <li id="toc-Structured_programming" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Structured_programming"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.1</span> <span>Structured programming</span> </div> </a> <ul id="toc-Structured_programming-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Exceptions" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Exceptions"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.2</span> <span>Exceptions</span> </div> </a> <ul id="toc-Exceptions-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Tail_calls" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Tail_calls"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.3</span> <span>Tail calls</span> </div> </a> <ul id="toc-Tail_calls-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Coroutines" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Coroutines"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.4</span> <span>Coroutines</span> </div> </a> <ul id="toc-Coroutines-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Continuations" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Continuations"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.5</span> <span>Continuations</span> </div> </a> <ul id="toc-Continuations-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Message_passing" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Message_passing"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.6</span> <span>Message passing</span> </div> </a> <ul id="toc-Message_passing-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Variations" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Variations"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>Variations</span> </div> </a> <button aria-controls="toc-Variations-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Variations subsection</span> </button> <ul id="toc-Variations-sublist" class="vector-toc-list"> <li id="toc-Computed_GOTO_and_Assigned_GOTO" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Computed_GOTO_and_Assigned_GOTO"> <div class="vector-toc-text"> <span class="vector-toc-numb">5.1</span> <span><span><span>Computed GOTO</span></span> and <span><span>Assigned GOTO</span></span></span> </div> </a> <ul id="toc-Computed_GOTO_and_Assigned_GOTO-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-ALTER" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#ALTER"> <div class="vector-toc-text"> <span class="vector-toc-numb">5.2</span> <span>ALTER</span> </div> </a> <ul id="toc-ALTER-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Perl_GOTO" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Perl_GOTO"> <div class="vector-toc-text"> <span class="vector-toc-numb">5.3</span> <span>Perl GOTO</span> </div> </a> <ul id="toc-Perl_GOTO-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Emulated_GOTO" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Emulated_GOTO"> <div class="vector-toc-text"> <span class="vector-toc-numb">5.4</span> <span>Emulated GOTO</span> </div> </a> <ul id="toc-Emulated_GOTO-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-PL/I_label_variables" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#PL/I_label_variables"> <div class="vector-toc-text"> <span class="vector-toc-numb">5.5</span> <span>PL/I label variables</span> </div> </a> <ul id="toc-PL/I_label_variables-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-MS/DOS_GOTO" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#MS/DOS_GOTO"> <div class="vector-toc-text"> <span class="vector-toc-numb">5.6</span> <span>MS/DOS GOTO</span> </div> </a> <ul id="toc-MS/DOS_GOTO-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Language_support" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Language_support"> <div class="vector-toc-text"> <span class="vector-toc-numb">6</span> <span>Language support</span> </div> </a> <ul id="toc-Language_support-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-See_also" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#See_also"> <div class="vector-toc-text"> <span class="vector-toc-numb">7</span> <span>See also</span> </div> </a> <ul id="toc-See_also-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Notes" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Notes"> <div class="vector-toc-text"> <span class="vector-toc-numb">8</span> <span>Notes</span> </div> </a> <ul id="toc-Notes-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-References" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#References"> <div class="vector-toc-text"> <span class="vector-toc-numb">9</span> <span>References</span> </div> </a> <ul id="toc-References-sublist" class="vector-toc-list"> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" title="Table of Contents" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Goto</span></h1> <div id="p-lang-btn" class="vector-dropdown mw-portlet mw-portlet-lang" > <input type="checkbox" id="p-lang-btn-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-lang-btn" class="vector-dropdown-checkbox mw-interlanguage-selector" aria-label="Go to an article in another language. Available in 25 languages" > <label id="p-lang-btn-label" for="p-lang-btn-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive mw-portlet-lang-heading-25" aria-hidden="true" ><span class="vector-icon mw-ui-icon-language-progressive mw-ui-icon-wikimedia-language-progressive"></span> <span class="vector-dropdown-label-text">25 languages</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-az mw-list-item"><a href="https://az.wikipedia.org/wiki/GOTO" title="GOTO – Azerbaijani" lang="az" hreflang="az" data-title="GOTO" data-language-autonym="Azərbaycanca" data-language-local-name="Azerbaijani" class="interlanguage-link-target"><span>Azərbaycanca</span></a></li><li class="interlanguage-link interwiki-ca mw-list-item"><a href="https://ca.wikipedia.org/wiki/GOTO" title="GOTO – Catalan" lang="ca" hreflang="ca" data-title="GOTO" data-language-autonym="Català" data-language-local-name="Catalan" class="interlanguage-link-target"><span>Català</span></a></li><li class="interlanguage-link interwiki-de mw-list-item"><a href="https://de.wikipedia.org/wiki/Sprunganweisung" title="Sprunganweisung – German" lang="de" hreflang="de" data-title="Sprunganweisung" data-language-autonym="Deutsch" data-language-local-name="German" class="interlanguage-link-target"><span>Deutsch</span></a></li><li class="interlanguage-link interwiki-es mw-list-item"><a href="https://es.wikipedia.org/wiki/GOTO" title="GOTO – Spanish" lang="es" hreflang="es" data-title="GOTO" data-language-autonym="Español" data-language-local-name="Spanish" class="interlanguage-link-target"><span>Español</span></a></li><li class="interlanguage-link interwiki-eo mw-list-item"><a href="https://eo.wikipedia.org/wiki/Salta_ordono" title="Salta ordono – Esperanto" lang="eo" hreflang="eo" data-title="Salta ordono" data-language-autonym="Esperanto" data-language-local-name="Esperanto" class="interlanguage-link-target"><span>Esperanto</span></a></li><li class="interlanguage-link interwiki-fa mw-list-item"><a href="https://fa.wikipedia.org/wiki/Goto" title="Goto – Persian" lang="fa" hreflang="fa" data-title="Goto" data-language-autonym="فارسی" data-language-local-name="Persian" class="interlanguage-link-target"><span>فارسی</span></a></li><li class="interlanguage-link interwiki-fr mw-list-item"><a href="https://fr.wikipedia.org/wiki/Goto_(informatique)" title="Goto (informatique) – French" lang="fr" hreflang="fr" data-title="Goto (informatique)" data-language-autonym="Français" data-language-local-name="French" class="interlanguage-link-target"><span>Français</span></a></li><li class="interlanguage-link interwiki-ko mw-list-item"><a href="https://ko.wikipedia.org/wiki/Goto_%EB%AC%B8" title="Goto 문 – Korean" lang="ko" hreflang="ko" data-title="Goto 문" data-language-autonym="한국어" data-language-local-name="Korean" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-hr mw-list-item"><a href="https://hr.wikipedia.org/wiki/Goto" title="Goto – Croatian" lang="hr" hreflang="hr" data-title="Goto" data-language-autonym="Hrvatski" data-language-local-name="Croatian" class="interlanguage-link-target"><span>Hrvatski</span></a></li><li class="interlanguage-link interwiki-it mw-list-item"><a href="https://it.wikipedia.org/wiki/GOTO" title="GOTO – Italian" lang="it" hreflang="it" data-title="GOTO" data-language-autonym="Italiano" data-language-local-name="Italian" class="interlanguage-link-target"><span>Italiano</span></a></li><li class="interlanguage-link interwiki-he mw-list-item"><a href="https://he.wikipedia.org/wiki/%D7%A4%D7%A7%D7%95%D7%93%D7%AA_goto" title="פקודת goto – Hebrew" lang="he" hreflang="he" data-title="פקודת goto" data-language-autonym="עברית" data-language-local-name="Hebrew" class="interlanguage-link-target"><span>עברית</span></a></li><li class="interlanguage-link interwiki-hu mw-list-item"><a href="https://hu.wikipedia.org/wiki/GOTO" title="GOTO – Hungarian" lang="hu" hreflang="hu" data-title="GOTO" data-language-autonym="Magyar" data-language-local-name="Hungarian" class="interlanguage-link-target"><span>Magyar</span></a></li><li class="interlanguage-link interwiki-nl mw-list-item"><a href="https://nl.wikipedia.org/wiki/Spronginstructie" title="Spronginstructie – Dutch" lang="nl" hreflang="nl" data-title="Spronginstructie" data-language-autonym="Nederlands" data-language-local-name="Dutch" class="interlanguage-link-target"><span>Nederlands</span></a></li><li class="interlanguage-link interwiki-ja mw-list-item"><a href="https://ja.wikipedia.org/wiki/Goto%E6%96%87" title="Goto文 – Japanese" lang="ja" hreflang="ja" data-title="Goto文" data-language-autonym="日本語" data-language-local-name="Japanese" class="interlanguage-link-target"><span>日本語</span></a></li><li class="interlanguage-link interwiki-pl mw-list-item"><a href="https://pl.wikipedia.org/wiki/Instrukcja_skoku" title="Instrukcja skoku – Polish" lang="pl" hreflang="pl" data-title="Instrukcja skoku" data-language-autonym="Polski" data-language-local-name="Polish" class="interlanguage-link-target"><span>Polski</span></a></li><li class="interlanguage-link interwiki-pt mw-list-item"><a href="https://pt.wikipedia.org/wiki/Goto_(programa%C3%A7%C3%A3o)" title="Goto (programação) – Portuguese" lang="pt" hreflang="pt" data-title="Goto (programação)" data-language-autonym="Português" data-language-local-name="Portuguese" class="interlanguage-link-target"><span>Português</span></a></li><li class="interlanguage-link interwiki-ru mw-list-item"><a href="https://ru.wikipedia.org/wiki/Goto" title="Goto – Russian" lang="ru" hreflang="ru" data-title="Goto" data-language-autonym="Русский" data-language-local-name="Russian" class="interlanguage-link-target"><span>Русский</span></a></li><li class="interlanguage-link interwiki-simple mw-list-item"><a href="https://simple.wikipedia.org/wiki/Goto" title="Goto – Simple English" lang="en-simple" hreflang="en-simple" data-title="Goto" data-language-autonym="Simple English" data-language-local-name="Simple English" class="interlanguage-link-target"><span>Simple English</span></a></li><li class="interlanguage-link interwiki-sr mw-list-item"><a href="https://sr.wikipedia.org/wiki/Goto_naredba" title="Goto naredba – Serbian" lang="sr" hreflang="sr" data-title="Goto naredba" data-language-autonym="Српски / srpski" data-language-local-name="Serbian" class="interlanguage-link-target"><span>Српски / srpski</span></a></li><li class="interlanguage-link interwiki-sh mw-list-item"><a href="https://sh.wikipedia.org/wiki/Goto" title="Goto – Serbo-Croatian" lang="sh" hreflang="sh" data-title="Goto" data-language-autonym="Srpskohrvatski / српскохрватски" data-language-local-name="Serbo-Croatian" class="interlanguage-link-target"><span>Srpskohrvatski / српскохрватски</span></a></li><li class="interlanguage-link interwiki-sv mw-list-item"><a href="https://sv.wikipedia.org/wiki/Goto" title="Goto – Swedish" lang="sv" hreflang="sv" data-title="Goto" data-language-autonym="Svenska" data-language-local-name="Swedish" class="interlanguage-link-target"><span>Svenska</span></a></li><li class="interlanguage-link interwiki-tr mw-list-item"><a href="https://tr.wikipedia.org/wiki/GOTO" title="GOTO – Turkish" lang="tr" hreflang="tr" data-title="GOTO" data-language-autonym="Türkçe" data-language-local-name="Turkish" class="interlanguage-link-target"><span>Türkçe</span></a></li><li class="interlanguage-link interwiki-uk mw-list-item"><a href="https://uk.wikipedia.org/wiki/%D0%91%D0%B5%D0%B7%D1%83%D0%BC%D0%BE%D0%B2%D0%BD%D0%B8%D0%B9_%D0%BF%D0%B5%D1%80%D0%B5%D1%85%D1%96%D0%B4" title="Безумовний перехід – Ukrainian" lang="uk" hreflang="uk" data-title="Безумовний перехід" data-language-autonym="Українська" data-language-local-name="Ukrainian" class="interlanguage-link-target"><span>Українська</span></a></li><li class="interlanguage-link interwiki-zh-yue mw-list-item"><a href="https://zh-yue.wikipedia.org/wiki/Goto" title="Goto – Cantonese" lang="yue" hreflang="yue" data-title="Goto" data-language-autonym="粵語" data-language-local-name="Cantonese" class="interlanguage-link-target"><span>粵語</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/Goto" title="Goto – Chinese" lang="zh" hreflang="zh" data-title="Goto" data-language-autonym="中文" data-language-local-name="Chinese" class="interlanguage-link-target"><span>中文</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q750997#sitelinks-wikipedia" title="Edit interlanguage links" class="wbc-editpage">Edit links</a></span></div> </div> </div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Namespaces"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-main" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Goto" title="View the content page [c]" accesskey="c"><span>Article</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="/wiki/Talk:Goto" rel="discussion" title="Discuss improvements to the content page [t]" accesskey="t"><span>Talk</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Change language variant" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">English</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Views"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Goto"><span>Read</span></a></li><li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Goto&action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Goto&action=history" title="Past revisions of this page [h]" accesskey="h"><span>View history</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Tools" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Tools</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Tools</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">hide</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="More options" > <div class="vector-menu-heading"> Actions </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/Goto"><span>Read</span></a></li><li id="ca-more-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Goto&action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Goto&action=history"><span>View history</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> General </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/Goto" title="List of all English Wikipedia pages containing links to this page [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/Goto" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-upload" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:File_Upload_Wizard" title="Upload files [u]" accesskey="u"><span>Upload file</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Goto&oldid=1267522028" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Goto&action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Special:CiteThisPage&page=Goto&id=1267522028&wpFormIdentifier=titleform" title="Information on how to cite this page"><span>Cite this page</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Special:UrlShortener&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FGoto"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FGoto"><span>Download QR code</span></a></li> </ul> </div> </div> <div id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export" > <div class="vector-menu-heading"> Print/export </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&page=Goto&action=show-download-screen" title="Download this page as a PDF file"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=Goto&printable=yes" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> In other projects </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q750997" title="Structured data on this page hosted by Wikidata [g]" accesskey="g"><span>Wikidata item</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Appearance</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">hide</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div class="mw-indicators"> </div> <div id="siteSub" class="noprint">From Wikipedia, the free encyclopedia</div> </div> <div id="contentSub"><div id="mw-content-subtitle"></div></div> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><div class="shortdescription nomobile noexcerpt noprint searchaux" style="display:none">One-way control statement in computer programming</div> <style data-mw-deduplicate="TemplateStyles:r1236090951">.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}</style><div role="note" class="hatnote navigation-not-searchable">This article is about the programming statement in high-level languages. For other uses, see <a href="/wiki/Goto_(disambiguation)" class="mw-disambig" title="Goto (disambiguation)">Goto (disambiguation)</a>.</div> <figure class="mw-default-size mw-halign-right" typeof="mw:File/Thumb"><a href="/wiki/File:GOTOkey(ZXSpectrum).jpg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/c/cc/GOTOkey%28ZXSpectrum%29.jpg/170px-GOTOkey%28ZXSpectrum%29.jpg" decoding="async" width="170" height="170" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/c/cc/GOTOkey%28ZXSpectrum%29.jpg/255px-GOTOkey%28ZXSpectrum%29.jpg 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/c/cc/GOTOkey%28ZXSpectrum%29.jpg/340px-GOTOkey%28ZXSpectrum%29.jpg 2x" data-file-width="598" data-file-height="598" /></a><figcaption>"<b>GOTO</b>" key on the 1982 <a href="/wiki/ZX_Spectrum" title="ZX Spectrum">ZX Spectrum</a> home computer, implemented with native <a href="/wiki/BASIC" title="BASIC">BASIC</a> (one-key command entry).</figcaption></figure> <p><b>Goto</b> is a <a href="/wiki/Statement_(programming)" class="mw-redirect" title="Statement (programming)">statement</a> found in many computer <a href="/wiki/Programming_language" title="Programming language">programming languages</a>. It performs a <b>one-way transfer</b> of control to another line of code; in contrast a <a href="/wiki/Subroutine" class="mw-redirect" title="Subroutine">function call</a> normally returns control. The jumped-to locations are usually identified using <a href="/wiki/Label_(programming_language)" class="mw-redirect" title="Label (programming language)">labels</a>, though some languages use <a href="/wiki/Line_number" title="Line number">line numbers</a>. At the <a href="/wiki/Machine_code" title="Machine code">machine code</a> level, a <code>goto</code> is a form of <a href="/wiki/Branch_(computer_science)" title="Branch (computer science)">branch or jump statement</a>, in some cases combined with a stack adjustment. Many languages support the <code>goto</code> statement, and many do not (see <a href="#Language_support">§ language support</a>). </p><p>The <a href="/wiki/Structured_program_theorem" title="Structured program theorem">structured program theorem</a> proved that the <code>goto</code> statement is not necessary to write programs that can be expressed as <a href="/wiki/Flow_chart" class="mw-redirect" title="Flow chart">flow charts</a>; some combination of the three programming constructs of sequence, selection/choice, and repetition/iteration are sufficient for any computation that can be performed by a <a href="/wiki/Turing_machine" title="Turing machine">Turing machine</a>, with the caveat that <a href="/wiki/Code_duplication" class="mw-redirect" title="Code duplication">code duplication</a> and additional variables may need to be introduced.<sup id="cite_ref-FOOTNOTEWattFindlay2004_1-0" class="reference"><a href="#cite_note-FOOTNOTEWattFindlay2004-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> </p><p>The use of goto was formerly common, but since the advent of <a href="/wiki/Structured_programming" title="Structured programming">structured programming</a> in the 1960s and 1970s, its use has declined significantly. It remains in use in certain <a href="#Common_usage_patterns">common usage patterns</a>, but <a href="#Alternatives">alternatives</a> are generally used if available. In the past, there was considerable debate in academia and industry on the merits of the use of goto statements. The primary <a href="#Criticism">criticism</a> is that code that uses goto statements is harder to understand than alternative constructions. Debates over its (more limited) uses continue in academia and software industry circles. </p> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="Usage">Usage</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Goto&action=edit&section=1" title="Edit section: Usage"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><code><b>goto</b> <i>label</i></code> </p><p>The <code>goto</code> statement is often combined with the <a href="/wiki/Conditional_(programming)" class="mw-redirect" title="Conditional (programming)">if statement</a> to cause a conditional transfer of control. </p><p><code><b>IF</b> <i>condition</i> <b>THEN</b> <b>goto</b> <i>label</i></code> </p><p>Programming languages impose different restrictions with respect to the destination of a <code>goto</code> statement. For example, the <a href="/wiki/C_programming_language" class="mw-redirect" title="C programming language">C programming language</a> does not permit a jump to a label contained within another function,<sup id="cite_ref-FOOTNOTEKernighanRitchie1988224A9.6_Jump_Statements_2-0" class="reference"><a href="#cite_note-FOOTNOTEKernighanRitchie1988224A9.6_Jump_Statements-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> however jumps within a single call chain are possible using the <a href="/wiki/Setjmp" class="mw-redirect" title="Setjmp">setjmp/longjmp</a> functions. </p> <div class="mw-heading mw-heading2"><h2 id="Criticism">Criticism</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Goto&action=edit&section=2" title="Edit section: Criticism"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>At the <a href="/wiki/ALGOL" title="ALGOL">pre-ALGOL</a> meeting held in 1959, <a href="/wiki/Heinz_Zemanek" title="Heinz Zemanek">Heinz Zemanek</a> explicitly cast doubt on the necessity of GOTO statements; at the time no one<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">[<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (November 2019)">citation needed</span></a></i>]</sup> paid attention to his remark, including <a href="/wiki/Edsger_W._Dijkstra" title="Edsger W. Dijkstra">Edsger W. Dijkstra</a>, who later became the iconic opponent of GOTO.<sup id="cite_ref-FOOTNOTEDijkstra1968_3-0" class="reference"><a href="#cite_note-FOOTNOTEDijkstra1968-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> The 1970s and 1980s saw a decline in the use of GOTO statements in favor of the <a href="/wiki/Structured_programming" title="Structured programming">structured programming</a> <a href="/wiki/Programming_paradigm" title="Programming paradigm">paradigm</a>, with GOTO criticized as leading to unmaintainable <a href="/wiki/Spaghetti_code" title="Spaghetti code">spaghetti code</a>. Some <a href="/wiki/Programming_style" title="Programming style">programming style</a> coding standards, for example the GNU Pascal Coding Standards, recommend against the use of GOTO statements.<sup id="cite_ref-FOOTNOTEGNU_Pascal_development_team20055.1_Assorted_Pascal_Programming_Tips_4-0" class="reference"><a href="#cite_note-FOOTNOTEGNU_Pascal_development_team20055.1_Assorted_Pascal_Programming_Tips-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> The <a href="/wiki/Structured_program_theorem" title="Structured program theorem">Böhm–Jacopini proof</a> (1966) did not settle the question of whether to adopt structured programming for software development, partly because the construction was more likely to obscure a program than to improve it because its application requires the introduction of additional local variables.<sup id="cite_ref-FOOTNOTELoudenLambert2012_5-0" class="reference"><a href="#cite_note-FOOTNOTELoudenLambert2012-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> It did, however, spark a prominent debate among computer scientists, educators, language designers and application programmers that saw a slow but steady shift away from the formerly ubiquitous use of the GOTO. Probably the most famous criticism of GOTO is a 1968 letter by Edsger Dijkstra called "<b>Go-to statement considered harmful</b>".<sup id="cite_ref-FOOTNOTEDijkstra1968_3-1" class="reference"><a href="#cite_note-FOOTNOTEDijkstra1968-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> In that letter, Dijkstra argued that unrestricted GOTO statements should be abolished from higher-level languages because they complicated the task of analyzing and verifying the correctness of programs (particularly those involving loops).<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup> The letter itself sparked a debate, including a <span style="padding-right:.15em;">"</span>'GOTO Considered Harmful' Considered Harmful" letter<sup id="cite_ref-FOOTNOTERubin1987_7-0" class="reference"><a href="#cite_note-FOOTNOTERubin1987-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> sent to <i>Communications of the <a href="/wiki/Association_for_Computing_Machinery" title="Association for Computing Machinery">ACM</a></i> (CACM) in March 1987, as well as further replies by other people, including Dijkstra's <i>On a Somewhat Disappointing Correspondence</i>.<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup> </p><p>An alternative viewpoint is presented in <a href="/wiki/Donald_Knuth" title="Donald Knuth">Donald Knuth</a>'s <i>Structured Programming with go to Statements</i>, which analyzes many common programming tasks and finds that in some of them GOTO is the optimal <a href="/wiki/Language_construct" title="Language construct">language construct</a> to use.<sup id="cite_ref-FOOTNOTEKnuth1974_9-0" class="reference"><a href="#cite_note-FOOTNOTEKnuth1974-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup> In <i><a href="/wiki/The_C_Programming_Language" title="The C Programming Language">The C Programming Language</a></i>, <a href="/wiki/Brian_Kernighan" title="Brian Kernighan">Brian Kernighan</a> and <a href="/wiki/Dennis_Ritchie" title="Dennis Ritchie">Dennis Ritchie</a> warn that <code>goto</code> is "infinitely abusable", but also suggest that it could be used for end-of-function error handlers and for multi-level breaks from loops.<sup id="cite_ref-FOOTNOTEKernighanRitchie198865–663.8_Goto_and_Labels_10-0" class="reference"><a href="#cite_note-FOOTNOTEKernighanRitchie198865–663.8_Goto_and_Labels-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup> These two patterns can be found in numerous subsequent books on C by other authors;<sup id="cite_ref-FOOTNOTEVine2007262_11-0" class="reference"><a href="#cite_note-FOOTNOTEVine2007262-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-FOOTNOTEGeisler2011_12-0" class="reference"><a href="#cite_note-FOOTNOTEGeisler2011-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup> <sup id="cite_ref-FOOTNOTEPrata2013_13-0" class="reference"><a href="#cite_note-FOOTNOTEPrata2013-13"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-FOOTNOTESahniCmelik1995_14-0" class="reference"><a href="#cite_note-FOOTNOTESahniCmelik1995-14"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup> a 2007 introductory textbook notes that the error handling pattern is a way to work around the "lack of built-in exception handling within the C language".<sup id="cite_ref-FOOTNOTEVine2007262_11-1" class="reference"><a href="#cite_note-FOOTNOTEVine2007262-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup> Other programmers, including <a href="/wiki/Linux" title="Linux">Linux</a> kernel designer and coder <a href="/wiki/Linus_Torvalds" title="Linus Torvalds">Linus Torvalds</a> or software engineer and book author <a href="/wiki/Steve_McConnell" title="Steve McConnell">Steve McConnell</a>, also object to Dijkstra's point of view, stating that GOTOs can be a useful language feature, improving program speed, size and code clarity, but only when used in a sensible way by a comparably sensible programmer.<sup id="cite_ref-FOOTNOTEAndrews2003_15-0" class="reference"><a href="#cite_note-FOOTNOTEAndrews2003-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-FOOTNOTEMcConnell2004_16-0" class="reference"><a href="#cite_note-FOOTNOTEMcConnell2004-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> According to computer science professor <a href="/wiki/John_Regehr" title="John Regehr">John Regehr</a>, in 2013, there were about 100,000 instances of goto in the Linux kernel code.<sup id="cite_ref-FOOTNOTERegehr2013_17-0" class="reference"><a href="#cite_note-FOOTNOTERegehr2013-17"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup> </p><p>Other academics took a more extreme viewpoint and argued that even instructions like <code>break</code> and <code>return</code> from the middle of loops are bad practice as they are not needed in the Böhm–Jacopini result, and thus advocated that loops should have a single exit point.<sup id="cite_ref-FOOTNOTERoberts1995_18-0" class="reference"><a href="#cite_note-FOOTNOTERoberts1995-18"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup> For instance, <a href="/wiki/Bertrand_Meyer" title="Bertrand Meyer">Bertrand Meyer</a> wrote in his 2009 textbook that instructions like <code>break</code> and <code>continue</code> "are just the old <code>goto</code> in sheep's clothing".<sup id="cite_ref-FOOTNOTEMeyer2009_19-0" class="reference"><a href="#cite_note-FOOTNOTEMeyer2009-19"><span class="cite-bracket">[</span>19<span class="cite-bracket">]</span></a></sup> A slightly modified form of the Böhm–Jacopini result, however, allows the avoidance of additional variables in structured programming, as long as multi-level breaks from loops are allowed.<sup id="cite_ref-FOOTNOTEKozenTseng2008_20-0" class="reference"><a href="#cite_note-FOOTNOTEKozenTseng2008-20"><span class="cite-bracket">[</span>20<span class="cite-bracket">]</span></a></sup> Because some languages like C don't allow multi-level breaks via their <code>break</code> keyword, some textbooks advise the programmer to use <code>goto</code> in such circumstances.<sup id="cite_ref-FOOTNOTESahniCmelik1995_14-1" class="reference"><a href="#cite_note-FOOTNOTESahniCmelik1995-14"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup> The <a href="/wiki/MISRA_C" title="MISRA C">MISRA C</a> 2004 standard bans <code>goto</code>, <code>continue</code>, as well as multiple <code>return</code> and <code>break</code> statements.<sup id="cite_ref-FOOTNOTEStack_Overflow_Questions2012_21-0" class="reference"><a href="#cite_note-FOOTNOTEStack_Overflow_Questions2012-21"><span class="cite-bracket">[</span>21<span class="cite-bracket">]</span></a></sup> The 2012 edition of the MISRA C standard downgraded the prohibition on <code>goto</code> from "required" to "advisory" status; the 2012 edition has an additional, mandatory rule that prohibits only backward, but not forward jumps with <code>goto</code>.<sup id="cite_ref-FOOTNOTEPitchfordTapp2013_22-0" class="reference"><a href="#cite_note-FOOTNOTEPitchfordTapp2013-22"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-FOOTNOTEWilliams2013_23-0" class="reference"><a href="#cite_note-FOOTNOTEWilliams2013-23"><span class="cite-bracket">[</span>23<span class="cite-bracket">]</span></a></sup> </p><p><a href="/wiki/FORTRAN" class="mw-redirect" title="FORTRAN">FORTRAN</a> introduced structured programming constructs in 1978, and in successive revisions the relatively loose semantic rules governing the allowable use of goto were tightened; the "extended range" in which a programmer could use a GOTO to leave and re-enter a still-executing DO loop was removed from the language in 1978,<sup id="cite_ref-24" class="reference"><a href="#cite_note-24"><span class="cite-bracket">[</span>24<span class="cite-bracket">]</span></a></sup> and by 1995 several forms of Fortran GOTO, including the Computed GOTO and the Assigned GOTO, had been deleted.<sup id="cite_ref-25" class="reference"><a href="#cite_note-25"><span class="cite-bracket">[</span>25<span class="cite-bracket">]</span></a></sup> Some widely used modern programming languages such as <a href="/wiki/Java_(programming_language)" title="Java (programming language)">Java</a> and <a href="/wiki/Python_(programming_language)" title="Python (programming language)">Python</a> lack the GOTO statement – see <a href="#Language_support">language support</a> – though most provide some means of breaking out of a selection, or either <a href="/wiki/Break_statement" class="mw-redirect" title="Break statement">breaking</a> out of or <a href="/wiki/Control_flow#Continuation_with_next_iteration" title="Control flow">moving</a> on to the next step of an iteration. The viewpoint that disturbing the control flow in code is undesirable may be seen in the design of some programming languages, for instance <a href="/wiki/Ada_(programming_language)" title="Ada (programming language)">Ada</a><sup id="cite_ref-FOOTNOTEBarnes2006_26-0" class="reference"><a href="#cite_note-FOOTNOTEBarnes2006-26"><span class="cite-bracket">[</span>26<span class="cite-bracket">]</span></a></sup> visually emphasizes label definitions using <a href="/wiki/Bracket#Angle_brackets_or_chevrons_⟨_⟩" title="Bracket">angle brackets</a>. </p><p>Entry 17.10 in comp.lang.c FAQ list<sup id="cite_ref-FOOTNOTESummit1995_27-0" class="reference"><a href="#cite_note-FOOTNOTESummit1995-27"><span class="cite-bracket">[</span>27<span class="cite-bracket">]</span></a></sup> addresses the issue of GOTO use directly, stating </p> <style data-mw-deduplicate="TemplateStyles:r1244412712">.mw-parser-output .templatequote{overflow:hidden;margin:1em 0;padding:0 32px}.mw-parser-output .templatequotecite{line-height:1.5em;text-align:left;margin-top:0}@media(min-width:500px){.mw-parser-output .templatequotecite{padding-left:1.6em}}</style><blockquote class="templatequote"><p> Programming style, like writing style, is somewhat of an art and cannot be codified by inflexible rules, although discussions about style often seem to center exclusively around such rules. In the case of the goto statement, it has long been observed that unfettered use of goto's quickly leads to unmaintainable spaghetti code. However, a simple, unthinking ban on the goto statement does not necessarily lead immediately to beautiful programming: an unstructured programmer is just as capable of constructing a Byzantine tangle without using any goto's (perhaps substituting oddly-nested loops and Boolean control variables, instead). Many programmers adopt a moderate stance: goto's are usually to be avoided, but are acceptable in a few well-constrained situations, if necessary: as multi-level break statements, to coalesce common actions inside a switch statement, or to centralize cleanup tasks in a function with several error returns. (...) Blindly avoiding certain constructs or following rules without understanding them can lead to just as many problems as the rules were supposed to avert. Furthermore, many opinions on programming style are just that: opinions. They may be strongly argued and strongly felt, they may be backed up by solid-seeming evidence and arguments, but the opposing opinions may be just as strongly felt, supported, and argued. It's usually futile to get dragged into "style wars", because on certain issues, opponents can never seem to agree, or agree to disagree, or stop arguing.</p></blockquote> <div class="mw-heading mw-heading2"><h2 id="Common_usage_patterns">Common usage patterns</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Goto&action=edit&section=3" title="Edit section: Common usage patterns"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>While overall usage of goto has been declining, there are still situations in some languages where a goto provides the shortest and most straightforward way to express a program's logic (while it is possible to express the same logic without gotos, the equivalent code will be longer and often more difficult to understand). In other languages, there are structured alternatives, notably exceptions and tail calls. </p><p>Situations in which goto is often useful include: </p> <ul><li>To make the code more readable and easier to follow<sup id="cite_ref-FOOTNOTEAndrews2003_15-1" class="reference"><a href="#cite_note-FOOTNOTEAndrews2003-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-FOOTNOTETorvalds2016_28-0" class="reference"><a href="#cite_note-FOOTNOTETorvalds2016-28"><span class="cite-bracket">[</span>28<span class="cite-bracket">]</span></a></sup></li> <li>To make smaller programs, and get rid of code duplication<sup id="cite_ref-FOOTNOTEAndrews2003_15-2" class="reference"><a href="#cite_note-FOOTNOTEAndrews2003-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-FOOTNOTETorvalds2016_28-1" class="reference"><a href="#cite_note-FOOTNOTETorvalds2016-28"><span class="cite-bracket">[</span>28<span class="cite-bracket">]</span></a></sup></li> <li>Implement a <a href="/wiki/Finite-state_machine" title="Finite-state machine">finite-state machine</a>, using a <a href="/wiki/State_transition_table" class="mw-redirect" title="State transition table">state transition table</a> and goto to switch between states (in absence of <a href="/wiki/Tail_call_elimination" class="mw-redirect" title="Tail call elimination">tail call elimination</a>), particularly in automatically generated C code.<sup id="cite_ref-FOOTNOTECozens2004_29-0" class="reference"><a href="#cite_note-FOOTNOTECozens2004-29"><span class="cite-bracket">[</span>29<span class="cite-bracket">]</span></a></sup> For example, <a href="/wiki/Canonical_LR_parser#Goto" title="Canonical LR parser">goto in the canonical LR parser</a>.</li> <li>Implementing multi-level break and continue if not directly supported in the language; this is a common idiom in C.<sup id="cite_ref-FOOTNOTESahniCmelik1995_14-2" class="reference"><a href="#cite_note-FOOTNOTESahniCmelik1995-14"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup> Although Java reserves the goto keyword, it doesn't actually implement it. Instead, Java implements labelled break and labelled continue statements.<sup id="cite_ref-FOOTNOTEJava_Tutorial2012_30-0" class="reference"><a href="#cite_note-FOOTNOTEJava_Tutorial2012-30"><span class="cite-bracket">[</span>30<span class="cite-bracket">]</span></a></sup> According to the Java documentation, the use of gotos for multi-level breaks was the most common (90%) use of gotos in C.<sup id="cite_ref-FOOTNOTEGoslingMcGilton1996_31-0" class="reference"><a href="#cite_note-FOOTNOTEGoslingMcGilton1996-31"><span class="cite-bracket">[</span>31<span class="cite-bracket">]</span></a></sup> Java was not the first language to take this approach—forbidding goto, but providing multi-level breaks— the <a href="/wiki/BLISS" title="BLISS">BLISS</a> programming language (more precisely the BLISS-11 version thereof) preceded it in this respect.<sup id="cite_ref-FOOTNOTEBrender2002960–965_32-0" class="reference"><a href="#cite_note-FOOTNOTEBrender2002960–965-32"><span class="cite-bracket">[</span>32<span class="cite-bracket">]</span></a></sup></li> <li>Surrogates for single-level break or continue (retry) statements when the potential introduction of additional loops could incorrectly affect the control flow. This practice has been observed in <a href="/wiki/Netbsd" class="mw-redirect" title="Netbsd">Netbsd</a> code.<sup id="cite_ref-FOOTNOTESpinellis2003_33-0" class="reference"><a href="#cite_note-FOOTNOTESpinellis2003-33"><span class="cite-bracket">[</span>33<span class="cite-bracket">]</span></a></sup></li> <li>Error handling (in absence of exceptions), particularly cleanup code such as resource deallocation.<sup id="cite_ref-FOOTNOTEVine2007262_11-2" class="reference"><a href="#cite_note-FOOTNOTEVine2007262-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-FOOTNOTESahniCmelik1995_14-3" class="reference"><a href="#cite_note-FOOTNOTESahniCmelik1995-14"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-FOOTNOTESpinellis2003_33-1" class="reference"><a href="#cite_note-FOOTNOTESpinellis2003-33"><span class="cite-bracket">[</span>33<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-FOOTNOTECozens2004_29-1" class="reference"><a href="#cite_note-FOOTNOTECozens2004-29"><span class="cite-bracket">[</span>29<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-FOOTNOTEAllain2019_34-0" class="reference"><a href="#cite_note-FOOTNOTEAllain2019-34"><span class="cite-bracket">[</span>34<span class="cite-bracket">]</span></a></sup> C++ offers an alternative to goto statement for this use case, which is : <a href="/wiki/Resource_Acquisition_Is_Initialization" class="mw-redirect" title="Resource Acquisition Is Initialization">Resource Acquisition Is Initialization</a> (RAII) through using destructors or using try and catch exceptions used in <a href="/wiki/Exception_handling" title="Exception handling">Exception handling</a>.<sup id="cite_ref-FOOTNOTEStroustrup2012_35-0" class="reference"><a href="#cite_note-FOOTNOTEStroustrup2012-35"><span class="cite-bracket">[</span>35<span class="cite-bracket">]</span></a></sup> <a href="/wiki/Setjmp" class="mw-redirect" title="Setjmp">setjmp</a> and longjmp are another alternative, and have the advantage of being able to unwind part of the <a href="/wiki/Call_stack" title="Call stack">call stack</a>.</li> <li>Popping the stack in, e.g., Algol, PL/I.</li> <li>Specialized scripting languages that operate in a linear manner, such as a dialogue system for video games.<sup id="cite_ref-36" class="reference"><a href="#cite_note-36"><span class="cite-bracket">[</span>36<span class="cite-bracket">]</span></a></sup></li></ul> <p>These uses are relatively common in C, but much less common in C++ or other languages with higher-level features.<sup id="cite_ref-FOOTNOTEAllain2019_34-1" class="reference"><a href="#cite_note-FOOTNOTEAllain2019-34"><span class="cite-bracket">[</span>34<span class="cite-bracket">]</span></a></sup> However, throwing and catching an exception inside a function can be extraordinarily inefficient in some languages; a prime example is <a href="/wiki/Objective-C" title="Objective-C">Objective-C</a>, where a goto is a much faster alternative.<sup id="cite_ref-FOOTNOTEChisnall2012_37-0" class="reference"><a href="#cite_note-FOOTNOTEChisnall2012-37"><span class="cite-bracket">[</span>37<span class="cite-bracket">]</span></a></sup> </p><p>Another use of goto statements is to modify poorly factored <a href="/wiki/Legacy_code" class="mw-redirect" title="Legacy code">legacy code</a>, where avoiding a goto would require extensive <a href="/wiki/Refactoring" class="mw-redirect" title="Refactoring">refactoring</a> or <a href="/wiki/Code_duplication" class="mw-redirect" title="Code duplication">code duplication</a>. For example, given a large function where only certain code is of interest, a goto statement allows one to jump to or from only the relevant code, without otherwise modifying the function. This usage is considered <a href="/wiki/Code_smell" title="Code smell">code smell</a>,<sup id="cite_ref-FOOTNOTEContieri2021_38-0" class="reference"><a href="#cite_note-FOOTNOTEContieri2021-38"><span class="cite-bracket">[</span>38<span class="cite-bracket">]</span></a></sup> but finds occasional use. </p> <div class="mw-heading mw-heading2"><h2 id="Alternatives">Alternatives</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Goto&action=edit&section=4" title="Edit section: Alternatives"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading3"><h3 id="Structured_programming">Structured programming</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Goto&action=edit&section=5" title="Edit section: Structured programming"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The modern notion of <a href="/wiki/Subroutine" class="mw-redirect" title="Subroutine">subroutine</a> was invented by <a href="/wiki/David_Wheeler_(computer_scientist)" title="David Wheeler (computer scientist)">David Wheeler</a> when programming the <a href="/wiki/EDSAC" title="EDSAC">EDSAC</a>. To implement a call and return on a machine without a subroutine call instruction, he used a special pattern of self-modifying code, known as a <a href="/wiki/Wheeler_jump" class="mw-redirect" title="Wheeler jump">Wheeler jump</a>.<sup id="cite_ref-FOOTNOTEWilkesWheelerGill1951_39-0" class="reference"><a href="#cite_note-FOOTNOTEWilkesWheelerGill1951-39"><span class="cite-bracket">[</span>39<span class="cite-bracket">]</span></a></sup> This resulted in the ability to structure programs using well-nested executions of routines drawn from a library. This would not have been possible using only <code>goto</code>, since the target code, being drawn from the library, would not know where to jump back to. </p><p>Later, high-level languages such as <a href="/wiki/Pascal_(programming_language)" title="Pascal (programming language)">Pascal</a> were designed around support for <a href="/wiki/Structured_programming" title="Structured programming">structured programming</a>, which generalized from <a href="/wiki/Subroutine" class="mw-redirect" title="Subroutine">subroutines</a> (also known as procedures or functions) towards further <a href="/wiki/Control_structures" class="mw-redirect" title="Control structures">control structures</a> such as: </p> <ul><li>Loops using <a href="/wiki/While_loop" title="While loop"><code>while</code></a>, <a href="/wiki/Do_while_loop" title="Do while loop"><code>repeat until</code> or <code>do</code></a>, and <a href="/wiki/For_loop" title="For loop"><code>for</code></a> statements</li> <li><a href="/wiki/Switch_statement" title="Switch statement"><code>switch</code></a> a.k.a. <code>case</code> statements, a form of <a href="/wiki/Multiway_branch" title="Multiway branch">multiway branching</a></li></ul> <p>These new language mechanisms replaced equivalent flows which previously would have been written using <code>goto</code>s and <code>if</code>s. Multi-way branching replaces the "computed goto" in which the instruction to jump to is determined dynamically (conditionally). </p><p>Under certain conditions it is possible to eliminate local goto statements of legacy programs by replacing them with multilevel loop exit statements.<sup id="cite_ref-FOOTNOTERamshaw1988_40-0" class="reference"><a href="#cite_note-FOOTNOTERamshaw1988-40"><span class="cite-bracket">[</span>40<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="Exceptions">Exceptions</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Goto&action=edit&section=6" title="Edit section: Exceptions"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951" /><div role="note" class="hatnote navigation-not-searchable">Further information: <a href="/wiki/Exception_handling" title="Exception handling">Exception handling</a></div> <p>In practice, a strict adherence to the basic three-structure template of structured programming yields highly nested code, due to inability to exit a structured unit prematurely, and a <a href="/wiki/Combinatorial_explosion" title="Combinatorial explosion">combinatorial explosion</a> with quite complex program state data to handle all possible conditions. </p><p>Two solutions have been generally adopted: a way to exit a structured unit prematurely, and more generally <a href="/wiki/Exception_handling" title="Exception handling">exceptions</a> – in both cases these go <i>up</i> the structure, returning control to enclosing blocks or functions, but do not jump to arbitrary code locations. These are analogous to the use of a return statement in non-terminal position – not strictly structured, due to early exit, but a mild relaxation of the strictures of structured programming. In C, <a href="/wiki/Break_statement" class="mw-redirect" title="Break statement"><code>break</code></a> and <code>continue</code> allow one to <a href="/wiki/Control_flow#Early_exit_from_loops" title="Control flow">terminate a loop</a> or <a href="/wiki/Control_flow#Continuation_with_next_iteration" title="Control flow">continue to the next iteration</a>, without requiring an extra <code>while</code> or <code>if</code> statement. In some languages multi-level breaks are also possible. For handling exceptional situations, specialized <a href="/wiki/Exception_handling" title="Exception handling">exception handling</a> constructs were added, such as <code>try</code>/<code>catch</code>/<code>finally</code> in Java. </p><p>The throw-catch exception handling mechanisms can also be easily abused to create non-transparent control structures, just like goto can be abused.<sup id="cite_ref-FOOTNOTESiedersleben2006_41-0" class="reference"><a href="#cite_note-FOOTNOTESiedersleben2006-41"><span class="cite-bracket">[</span>41<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="Tail_calls">Tail calls</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Goto&action=edit&section=7" title="Edit section: Tail calls"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951" /><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/Tail_call" title="Tail call">Tail call</a></div> <p>In a paper delivered to the ACM conference in Seattle in 1977, <a href="/wiki/Guy_L._Steele" class="mw-redirect" title="Guy L. Steele">Guy L. Steele</a> summarized the debate over the GOTO and structured programming, and observed that procedure calls in the tail position of a procedure can be most optimally treated as a direct transfer of control to the called procedure, typically eliminating unnecessary stack manipulation operations.<sup id="cite_ref-FOOTNOTESteele1977_42-0" class="reference"><a href="#cite_note-FOOTNOTESteele1977-42"><span class="cite-bracket">[</span>42<span class="cite-bracket">]</span></a></sup> Since such "tail calls" are very common in <a href="/wiki/Lisp_(programming_language)" title="Lisp (programming language)">Lisp</a>, a language where procedure calls are ubiquitous, this form of optimization considerably reduces the cost of a procedure call compared to the GOTO used in other languages. Steele argued that poorly implemented procedure calls had led to an artificial perception that the GOTO was cheap compared to the procedure call. Steele further argued that "in general procedure calls may be usefully thought of as GOTO statements which also pass parameters, and can be uniformly coded as <a href="/wiki/Machine_code" title="Machine code">machine code</a> JUMP instructions", with the machine code stack manipulation instructions "considered an optimization (rather than vice versa!)".<sup id="cite_ref-FOOTNOTESteele1977_42-1" class="reference"><a href="#cite_note-FOOTNOTESteele1977-42"><span class="cite-bracket">[</span>42<span class="cite-bracket">]</span></a></sup> Steele cited evidence that well optimized numerical algorithms in Lisp could execute faster than code produced by then-available commercial Fortran compilers because the cost of a procedure call in Lisp was much lower. In <a href="/wiki/Scheme_(programming_language)" title="Scheme (programming language)">Scheme</a>, a Lisp dialect developed by Steele with <a href="/wiki/Gerald_Jay_Sussman" title="Gerald Jay Sussman">Gerald Jay Sussman</a>, tail call optimization is mandatory.<sup id="cite_ref-FOOTNOTEKelseyClingerRees1998_43-0" class="reference"><a href="#cite_note-FOOTNOTEKelseyClingerRees1998-43"><span class="cite-bracket">[</span>43<span class="cite-bracket">]</span></a></sup> </p><p>Although Steele's paper did not introduce much that was new to computer science, at least as it was practised at MIT, it brought to light the scope for procedure call optimization, which made the modularity-promoting qualities of procedures into a more credible alternative to the then-common coding habits of large monolithic procedures with complex internal control structures and extensive state data. In particular, the tail call optimizations discussed by Steele turned the procedure into a credible way of implementing iteration through single <a href="/wiki/Tail_recursion" class="mw-redirect" title="Tail recursion">tail recursion</a> (tail recursion calling the same function). Further, tail call optimization allows <a href="/wiki/Mutual_recursion" title="Mutual recursion">mutual recursion</a> of unbounded depth, assuming tail calls – this allows transfer of control, as in <a href="/wiki/Finite-state_machine" title="Finite-state machine">finite-state machines</a>, which otherwise is generally accomplished with goto statements. </p> <div class="mw-heading mw-heading3"><h3 id="Coroutines">Coroutines</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Goto&action=edit&section=8" title="Edit section: Coroutines"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951" /><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/Coroutine" title="Coroutine">Coroutine</a></div> <p><a href="/wiki/Coroutine" title="Coroutine">Coroutines</a> are a more radical relaxation of structured programming, allowing not only multiple exit points (as in returns in non-tail position), but also multiple entry points, similar to goto statements. Coroutines are more restricted than goto, as they can only <i>resume</i> a currently running coroutine at specified points – continuing after a yield – rather than jumping to an arbitrary point in the code. A limited form of coroutines are <a href="/wiki/Generator_(computer_science)" class="mw-redirect" title="Generator (computer science)">generators</a>, which are sufficient for some purposes. Even more limited are <a href="/wiki/Closure_(computer_science)" class="mw-redirect" title="Closure (computer science)">closures</a> – subroutines which maintain state (via <a href="/wiki/Static_variable" title="Static variable">static variables</a>), but not execution position. A combination of state variables and structured control, notably an overall switch statement, can allow a subroutine to resume execution at an arbitrary point on subsequent calls, and is a structured alternative to goto statements in the absence of coroutines; this is a common idiom in C, for example. </p> <div class="mw-heading mw-heading3"><h3 id="Continuations">Continuations</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Goto&action=edit&section=9" title="Edit section: Continuations"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951" /><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/Continuation" title="Continuation">Continuation</a></div> <p>A <a href="/wiki/Continuation" title="Continuation">continuation</a> is similar to a GOTO in that it transfers control from an arbitrary point in the program to a previously marked point. A continuation is more flexible than GOTO in those languages that support it, because it can transfer control out of the current function, something that a GOTO cannot do in most structured programming languages. In those language implementations that maintain stack frames for storage of local variables and function arguments, executing a continuation involves adjusting the program's <a href="/wiki/Call_stack" title="Call stack">call stack</a> in addition to a jump. The <a href="/wiki/Setjmp/longjmp" class="mw-redirect" title="Setjmp/longjmp">longjmp</a> function of the <a href="/wiki/C_(programming_language)" title="C (programming language)">C programming language</a> is an example of an escape continuation that may be used to escape the current context to a surrounding one. The <a href="/wiki/Common_Lisp" title="Common Lisp">Common Lisp</a> GO operator also has this stack unwinding property, despite the construct being <a href="/wiki/Lexical_scope" class="mw-redirect" title="Lexical scope">lexically scoped</a>, as the label to be jumped to can be referenced from a <a href="/wiki/Closure_(computer_science)" class="mw-redirect" title="Closure (computer science)">closure</a>. </p><p>In <a href="/wiki/Scheme_(programming_language)" title="Scheme (programming language)">Scheme</a>, continuations can even move control from an outer context to an inner one if desired. This almost limitless control over what code is executed next makes complex control structures such as coroutines and cooperative multitasking relatively easy to write.<sup id="cite_ref-FOOTNOTEKelseyClingerRees1998_43-1" class="reference"><a href="#cite_note-FOOTNOTEKelseyClingerRees1998-43"><span class="cite-bracket">[</span>43<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="Message_passing">Message passing</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Goto&action=edit&section=10" title="Edit section: Message passing"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951" /><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/Message_passing" title="Message passing">Message passing</a></div> <p>In non-procedural paradigms, goto is less relevant or completely absent. One of the main alternatives is <a href="/wiki/Message_passing" title="Message passing">message passing</a>, which is of particular importance in <a href="/wiki/Concurrent_computing" title="Concurrent computing">concurrent computing</a>, <a href="/wiki/Interprocess_communication" class="mw-redirect" title="Interprocess communication">interprocess communication</a>, and <a href="/wiki/Object_oriented_programming" class="mw-redirect" title="Object oriented programming">object oriented programming</a>. In these cases, the individual components do not have arbitrary transfer of control, but the overall control may be scheduled in complex ways, such as via <a href="/wiki/Preemption_(computing)" title="Preemption (computing)">preemption</a>. The influential languages <a href="/wiki/Simula" title="Simula">Simula</a> and <a href="/wiki/Smalltalk" title="Smalltalk">Smalltalk</a> were among the first to introduce the concepts of messages and objects. By <a href="/wiki/Encapsulation_(object-oriented_programming)" class="mw-redirect" title="Encapsulation (object-oriented programming)">encapsulating</a> state data, <a href="/wiki/Object-oriented_programming" title="Object-oriented programming">object-oriented programming</a> reduced software complexity to interactions (messages) between objects. </p> <div class="mw-heading mw-heading2"><h2 id="Variations">Variations</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Goto&action=edit&section=11" title="Edit section: Variations"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>There are a number of different language constructs under the class of <i>goto</i> statements. </p> <div class="mw-heading mw-heading3"><h3 id="Computed_GOTO_and_Assigned_GOTO"><style data-mw-deduplicate="TemplateStyles:r1238216509">.mw-parser-output .vanchor>:target~.vanchor-text{background-color:#b1d2ff}@media screen{html.skin-theme-clientpref-night .mw-parser-output .vanchor>:target~.vanchor-text{background-color:#0f4dc9}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .vanchor>:target~.vanchor-text{background-color:#0f4dc9}}</style><span class="vanchor"><span id="Computed_GOTO"></span><span class="vanchor-text">Computed GOTO</span></span> and <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238216509" /><span class="vanchor"><span id="Assigned_GOTO"></span><span class="vanchor-text">Assigned GOTO</span></span></h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Goto&action=edit&section=12" title="Edit section: Computed GOTO and Assigned GOTO"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951" /><div role="note" class="hatnote navigation-not-searchable">See also: <a href="/wiki/Branch_table" title="Branch table">Branch table</a></div> <p>In <a href="/wiki/Fortran" title="Fortran">Fortran</a>, a <b>computed <code>GOTO</code></b> jumps to one of several labels in a list, based on the value of an expression. An example is <code>goto (20,30,40) i</code>.<sup id="cite_ref-44" class="reference"><a href="#cite_note-44"><span class="cite-bracket">[</span>44<span class="cite-bracket">]</span></a></sup> The equivalent construct in C is the <a href="/wiki/Switch_statement" title="Switch statement">switch statement</a>, and in newer Fortran a <code>SELECT CASE</code> construct is the recommended syntactical alternative.<sup id="cite_ref-FOOTNOTELahey_Computer_Systems,_Inc2004_45-0" class="reference"><a href="#cite_note-FOOTNOTELahey_Computer_Systems,_Inc2004-45"><span class="cite-bracket">[</span>45<span class="cite-bracket">]</span></a></sup> <a href="/wiki/BASIC" title="BASIC">BASIC</a> had a <code>'On GoTo'</code> statement that achieved the same goal, but in <a href="/wiki/Visual_Basic" title="Visual Basic">Visual Basic</a> this construct is no longer supported.<sup id="cite_ref-FOOTNOTEMicrosoft2021_46-0" class="reference"><a href="#cite_note-FOOTNOTEMicrosoft2021-46"><span class="cite-bracket">[</span>46<span class="cite-bracket">]</span></a></sup> </p><p>In versions prior to Fortran 95, Fortran also had an <b>assigned goto</b> variant that transfers control to a statement label (line number) which is stored in (assigned to) an integer variable. Jumping to an integer variable that had not been ASSIGNed to was unfortunately possible, and was a major source of bugs involving assigned gotos.<sup id="cite_ref-FOOTNOTEWehr1997_47-0" class="reference"><a href="#cite_note-FOOTNOTEWehr1997-47"><span class="cite-bracket">[</span>47<span class="cite-bracket">]</span></a></sup> The Fortran <code>assign</code> statement only allows a constant (existing) line number to be assigned to the integer variable. However, some compilers allowed accidentally treating this variable as an integer thereafter, for example increment it, resulting in unspecified behavior at <code>goto</code> time. The following code demonstrates the behavior of the <code>goto i</code> when line <var>i</var> is unspecified: </p> <div class="mw-highlight mw-highlight-lang-fortran mw-content-ltr" dir="ltr"><pre><span></span><span class="w"> </span><span class="k">assign </span><span class="mi">200</span><span class="w"> </span><span class="n">to</span><span class="w"> </span><span class="n">i</span> <span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">i</span><span class="o">+</span><span class="mi">1</span> <span class="w"> </span><span class="k">goto</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="c">! unspecified behavior</span> <span class="mi">200</span><span class="w"> </span><span class="k">write</span><span class="p">(</span><span class="o">*</span><span class="p">,</span><span class="o">*</span><span class="p">)</span><span class="w"> </span><span class="s2">"this is valid line number"</span> </pre></div> <p>Several C compilers implement two non-standard C/C++ extensions relating to gotos originally introduced by <a href="/wiki/GNU_Compiler_Collection" title="GNU Compiler Collection">gcc</a>.<sup id="cite_ref-FOOTNOTEz/OS_2.5.0_in_IBM_Documentation2021_48-0" class="reference"><a href="#cite_note-FOOTNOTEz/OS_2.5.0_in_IBM_Documentation2021-48"><span class="cite-bracket">[</span>48<span class="cite-bracket">]</span></a></sup> The GNU extension allows the address of a label inside the current function to be obtained as a <code>void*</code> using the unary, prefix <b>label value operator</b> <code>&&</code>. The goto instruction is also extended to allow jumping to an arbitrary <code>void*</code> expression. This C extension is referred to as a <i>computed goto</i> in documentation of the C compilers that support it; its semantics are a superset of Fortran's assigned goto, because it allows arbitrary pointer expressions as the goto target, while Fortran's assigned goto doesn't allow arbitrary expressions as jump target.<sup id="cite_ref-FOOTNOTEGCC,_the_GNU_Compiler_Collection2021_49-0" class="reference"><a href="#cite_note-FOOTNOTEGCC,_the_GNU_Compiler_Collection2021-49"><span class="cite-bracket">[</span>49<span class="cite-bracket">]</span></a></sup> As with the standard goto in C, the GNU C extension allows the target of the computed goto to reside only in the current function. Attempting to jump outside the current function results in unspecified behavior.<sup id="cite_ref-FOOTNOTEGCC,_the_GNU_Compiler_Collection2021_49-1" class="reference"><a href="#cite_note-FOOTNOTEGCC,_the_GNU_Compiler_Collection2021-49"><span class="cite-bracket">[</span>49<span class="cite-bracket">]</span></a></sup> </p><p>Some variants of BASIC also support a computed GOTO in the sense used in GNU C, i.e. in which the target can be <i>any</i> line number, not just one from a list. For example, in <a href="/wiki/Michigan_Terminal_System" title="Michigan Terminal System">MTS</a> BASIC one could write <code>GOTO i*1000</code> to jump to the line numbered 1000 times the value of a variable <i>i</i> (which might represent a selected menu option, for example).<sup id="cite_ref-FOOTNOTEFronczakLubbers1974226_50-0" class="reference"><a href="#cite_note-FOOTNOTEFronczakLubbers1974226-50"><span class="cite-bracket">[</span>50<span class="cite-bracket">]</span></a></sup> </p><p><a href="/wiki/PL/I" title="PL/I">PL/I</a> <i>label variables</i> achieve the effect of computed or assigned <code>GOTO</code>s. </p> <div class="mw-heading mw-heading3"><h3 id="ALTER">ALTER</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Goto&action=edit&section=13" title="Edit section: ALTER"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Up to the 1985 ANSI <a href="/wiki/COBOL" title="COBOL">COBOL</a> standard had the ALTER statement which could be used to change the destination of an existing GO TO, which had to be in a paragraph by itself.<sup id="cite_ref-51" class="reference"><a href="#cite_note-51"><span class="cite-bracket">[</span>51<span class="cite-bracket">]</span></a></sup> The feature, which allowed <a href="/wiki/Polymorphism_(computer_science)" title="Polymorphism (computer science)">polymorphism</a>, was frequently condemned and seldom used.<sup id="cite_ref-FOOTNOTEVan_Tassel2004_52-0" class="reference"><a href="#cite_note-FOOTNOTEVan_Tassel2004-52"><span class="cite-bracket">[</span>52<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="Perl_GOTO">Perl GOTO</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Goto&action=edit&section=14" title="Edit section: Perl GOTO"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>In <a href="/wiki/Perl" title="Perl">Perl</a>, there is a variant of the <code>goto</code> statement that is not a traditional GOTO statement at all. It takes a function name and transfers control by effectively substituting one function call for another (a <a href="/wiki/Tail_call" title="Tail call">tail call</a>): the new function will not return to the GOTO, but instead to the place from which the original function was called.<sup id="cite_ref-FOOTNOTEPerl_syntax_manual2021_53-0" class="reference"><a href="#cite_note-FOOTNOTEPerl_syntax_manual2021-53"><span class="cite-bracket">[</span>53<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="Emulated_GOTO">Emulated GOTO</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Goto&action=edit&section=15" title="Edit section: Emulated GOTO"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>There are several programming languages that do not support GOTO by default. By using GOTO emulation, it is still possible to use GOTO in these programming languages, albeit with some restrictions. One can emulate GOTO in Java,<sup id="cite_ref-FOOTNOTEGOTO_for_Java2009_54-0" class="reference"><a href="#cite_note-FOOTNOTEGOTO_for_Java2009-54"><span class="cite-bracket">[</span>54<span class="cite-bracket">]</span></a></sup> JavaScript,<sup id="cite_ref-FOOTNOTESexton2012_55-0" class="reference"><a href="#cite_note-FOOTNOTESexton2012-55"><span class="cite-bracket">[</span>55<span class="cite-bracket">]</span></a></sup> and Python.<sup id="cite_ref-FOOTNOTEHindle2004_56-0" class="reference"><a href="#cite_note-FOOTNOTEHindle2004-56"><span class="cite-bracket">[</span>56<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-FOOTNOTENoackBlankGraingerspacewander2015_57-0" class="reference"><a href="#cite_note-FOOTNOTENoackBlankGraingerspacewander2015-57"><span class="cite-bracket">[</span>57<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="PL/I_label_variables"><span id="PL.2FI_label_variables"></span>PL/I label variables</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Goto&action=edit&section=16" title="Edit section: PL/I label variables"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><a href="/wiki/PL/I" title="PL/I">PL/I</a> has the data type <i>LABEL</i>, which can be used to implement both the "assigned goto" and the "computed goto." PL/I allows branches out of the current block. A calling procedure can pass a label as an argument to a called procedure which can then exit with a branch. The value of a label variable includes the address of a stack frame, and a goto out of block pops the stack. </p> <pre> /* This implements the equivalent of */ /* the assigned goto */ declare where label; where = somewhere; goto where; ... somewhere: /* statement */ ; ... </pre> <pre> /* This implements the equivalent of */ /* the computed goto */ declare where (5) label; declare inx fixed; where(1) = abc; where(2) = xyz; ... goto where(inx); ... abc: /* statement */ ; ... xyz: /* statement */ ; ... </pre> <p>A simpler way to get an equivalent result is using a <i>label constant array</i> that doesn't even need an explicit declaration of a <b>LABEL</b> type variable: </p> <pre> /* This implements the equivalent of */ /* the computed goto */ declare inx fixed; ... goto where(inx); ... where(1): /* statement */ ; ... where(2): /* statement */ ; ... </pre> <div class="mw-heading mw-heading3"><h3 id="MS/DOS_GOTO"><span id="MS.2FDOS_GOTO"></span>MS/DOS GOTO</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Goto&action=edit&section=17" title="Edit section: MS/DOS GOTO"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>In a DOS <a href="/wiki/Batch_file" title="Batch file">batch file</a>, Goto directs execution to a label that begins with a colon. The target of the Goto can be a variable. </p> <div class="mw-highlight mw-highlight-lang-dosbatch mw-content-ltr" dir="ltr"><pre><span></span><span class="p">@</span><span class="k">echo</span> off <span class="k">SET</span> <span class="nv">D8str</span><span class="p">=</span><span class="nv">%date%</span> <span class="k">SET</span> <span class="nv">D8dow</span><span class="p">=</span><span class="nv">%D8str:~0,3%</span> <span class="k">FOR</span> <span class="se">%%</span>D <span class="k">in</span> <span class="p">(</span>Mon Wed Fri<span class="p">)</span> <span class="k">do</span> <span class="k">if</span> <span class="s2">"</span><span class="se">%%</span><span class="s2">D"</span> <span class="o">==</span> <span class="s2">"</span><span class="nv">%D8dow%</span><span class="s2">"</span> <span class="k">goto</span> <span class="nl">SHOP%%D</span> <span class="k">echo</span> Today, <span class="nv">%D8dow%</span>, is not a shopping day. <span class="k">goto</span> <span class="nl">end</span> <span class="p">:</span><span class="nl">SHOPMon</span> <span class="k">echo</span> buy pizza for lunch - Monday is Pizza day. <span class="k">goto</span> <span class="nl">end</span> <span class="p">:</span><span class="nl">SHOPWed</span> <span class="k">echo</span> buy Calzone to take home - today is Wednesday. <span class="k">goto</span> <span class="nl">end</span> <span class="p">:</span><span class="nl">SHOPFri</span> <span class="k">echo</span> buy Seltzer in case somebody wants a zero calorie drink. <span class="p">:</span><span class="nl">end</span> </pre></div> <div class="mw-heading mw-heading2"><h2 id="Language_support">Language support</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Goto&action=edit&section=18" title="Edit section: Language support"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Many languages support the <code>goto</code> statement, and many do not. In <a href="/wiki/Java_(programming_language)" title="Java (programming language)">Java</a>, <code>goto</code> is a <a href="/wiki/Reserved_word" title="Reserved word">reserved word</a>, but is unusable, although compiled <code>.class</code> files generate GOTOs and LABELs.<sup id="cite_ref-58" class="reference"><a href="#cite_note-58"><span class="cite-bracket">[</span>58<span class="cite-bracket">]</span></a></sup> Python does not have support for goto, although there are several joke modules that provide it.<sup id="cite_ref-FOOTNOTEHindle2004_56-1" class="reference"><a href="#cite_note-FOOTNOTEHindle2004-56"><span class="cite-bracket">[</span>56<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-FOOTNOTENoackBlankGraingerspacewander2015_57-1" class="reference"><a href="#cite_note-FOOTNOTENoackBlankGraingerspacewander2015-57"><span class="cite-bracket">[</span>57<span class="cite-bracket">]</span></a></sup> There is no goto statement in <a href="/wiki/Seed7" title="Seed7">Seed7</a> and hidden gotos like break- and continue-statements are also omitted.<sup id="cite_ref-FOOTNOTEManual_for_the_Seed7_programming_language2021_59-0" class="reference"><a href="#cite_note-FOOTNOTEManual_for_the_Seed7_programming_language2021-59"><span class="cite-bracket">[</span>59<span class="cite-bracket">]</span></a></sup> In <a href="/wiki/PHP" title="PHP">PHP</a> there was no native support for <code>goto</code> until version 5.3 (libraries were available to emulate its functionality).<sup id="cite_ref-FOOTNOTEPHP_Manual2021_60-0" class="reference"><a href="#cite_note-FOOTNOTEPHP_Manual2021-60"><span class="cite-bracket">[</span>60<span class="cite-bracket">]</span></a></sup> </p><p><a href="/wiki/C_Sharp_(programming_language)" title="C Sharp (programming language)">C#</a> and <a href="/wiki/Visual_Basic_(.NET)" title="Visual Basic (.NET)">Visual Basic .NET</a> both support <code>goto</code>.<sup id="cite_ref-FOOTNOTEWagner2021_61-0" class="reference"><a href="#cite_note-FOOTNOTEWagner2021-61"><span class="cite-bracket">[</span>61<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-62" class="reference"><a href="#cite_note-62"><span class="cite-bracket">[</span>62<span class="cite-bracket">]</span></a></sup> However, it does not allow jumping to a label outside of the current scope, and respects object disposal and finally constructs, making it significantly less powerful and dangerous than the <code>goto</code> keyword in other programming languages. It also makes <i>case</i> and <i>default</i> statements labels, whose scope is the enclosing <a href="/wiki/Switch_statement" title="Switch statement">switch statement</a>; <i>goto case</i> or <i>goto default</i> is often used as an explicit replacement for implicit fallthrough, which C# disallows. </p><p>The <a href="/wiki/PL/I" title="PL/I">PL/I</a> programing language has a GOTO statement that unwinds the stack for an out of block transfer and does not permit a transfer into a block from outside of it. </p><p>Other languages may have their own separate keywords for explicit fallthroughs, which can be considered a version of <code>goto</code> restricted to this specific purpose. For example, Go uses the <code>fallthrough</code> keyword and doesn't allow implicit fallthrough at all,<sup id="cite_ref-FOOTNOTEThe_Go_Programming_Language_Specification2021_63-0" class="reference"><a href="#cite_note-FOOTNOTEThe_Go_Programming_Language_Specification2021-63"><span class="cite-bracket">[</span>63<span class="cite-bracket">]</span></a></sup> while Perl 5 uses <code>next</code> for explicit fallthrough by default, but also allows setting implicit fallthrough as default behavior for a module. </p><p>Most languages that have goto statements call it that, but in the early days of computing, other names were used. For example, in <a href="/wiki/MAD_(programming_language)" title="MAD (programming language)">MAD</a> the TRANSFER TO statement was used.<sup id="cite_ref-FOOTNOTEGaller196226–28,_197,_211_64-0" class="reference"><a href="#cite_note-FOOTNOTEGaller196226–28,_197,_211-64"><span class="cite-bracket">[</span>64<span class="cite-bracket">]</span></a></sup> <a href="/wiki/APL_(programming_language)" title="APL (programming language)">APL</a> uses a right pointing arrow, <code>→</code> for goto. </p><p>C has goto, and it is commonly used in various idioms, as discussed above. </p><p>Functional programming languages such as Scheme generally do not have goto, instead using continuations. </p> <div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Goto&action=edit&section=19" title="Edit section: See also"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a href="/wiki/COMEFROM" title="COMEFROM">COMEFROM</a></li> <li><a href="/wiki/Control_flow#Goto" title="Control flow">Control flow</a></li> <li><a href="/wiki/GOSUB" class="mw-redirect" title="GOSUB">GOSUB</a></li> <li><a href="/wiki/Switch_statement" title="Switch statement">Switch statement</a> – a <a href="/wiki/Multiway_branch" title="Multiway branch">multiway branch</a> (or conditional goto)</li> <li><a href="/wiki/Non-structured_programming" title="Non-structured programming">Non-structured programming</a></li></ul> <div class="mw-heading mw-heading2"><h2 id="Notes">Notes</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Goto&action=edit&section=20" title="Edit section: Notes"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1239543626">.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}</style><div class="reflist reflist-columns references-column-width" style="column-width: 30em;"> <ol class="references"> <li id="cite_note-FOOTNOTEWattFindlay2004-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEWattFindlay2004_1-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFWattFindlay2004">Watt & Findlay 2004</a>.</span> </li> <li id="cite_note-FOOTNOTEKernighanRitchie1988224A9.6_Jump_Statements-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEKernighanRitchie1988224A9.6_Jump_Statements_2-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFKernighanRitchie1988">Kernighan & Ritchie 1988</a>, p. 224, A9.6 Jump Statements.</span> </li> <li id="cite_note-FOOTNOTEDijkstra1968-3"><span class="mw-cite-backlink">^ <a href="#cite_ref-FOOTNOTEDijkstra1968_3-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-FOOTNOTEDijkstra1968_3-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><a href="#CITEREFDijkstra1968">Dijkstra 1968</a>.</span> </li> <li id="cite_note-FOOTNOTEGNU_Pascal_development_team20055.1_Assorted_Pascal_Programming_Tips-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEGNU_Pascal_development_team20055.1_Assorted_Pascal_Programming_Tips_4-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFGNU_Pascal_development_team2005">GNU Pascal development team 2005</a>, 5.1 Assorted Pascal Programming Tips.</span> </li> <li id="cite_note-FOOTNOTELoudenLambert2012-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTELoudenLambert2012_5-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFLoudenLambert2012">Louden & Lambert 2012</a>.</span> </li> <li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text">"The unbridled use of the goto statement has as an immediate consequence that it becomes terribly hard to find a meaningful set of coordinates in which to describe the process progress. ... The 'go to' statement as it stands is just too primitive, it is too much an invitation to make a mess of one's program."</span> </li> <li id="cite_note-FOOTNOTERubin1987-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTERubin1987_7-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFRubin1987">Rubin 1987</a>.</span> </li> <li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/6/65/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/d/d6/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/a/aa/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}</style><cite id="CITEREFDijkstra" class="citation book cs1"><a href="/wiki/Edsger_W._Dijkstra" title="Edsger W. Dijkstra">Dijkstra, Edsger W.</a> <a rel="nofollow" class="external text" href="http://www.cs.utexas.edu/users/EWD/ewd10xx/EWD1009.PDF"><i>On a Somewhat Disappointing Correspondence (EWD-1009)</i></a> <span class="cs1-format">(PDF)</span>. E.W. Dijkstra Archive. Center for American History, <a href="/wiki/University_of_Texas_at_Austin" title="University of Texas at Austin">University of Texas at Austin</a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=On+a+Somewhat+Disappointing+Correspondence+%28EWD-1009%29&rft.series=E.W.+Dijkstra+Archive&rft.pub=Center+for+American+History%2C+University+of+Texas+at+Austin&rft.aulast=Dijkstra&rft.aufirst=Edsger+W.&rft_id=http%3A%2F%2Fwww.cs.utexas.edu%2Fusers%2FEWD%2Fewd10xx%2FEWD1009.PDF&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span> (<a rel="nofollow" class="external text" href="http://www.cs.utexas.edu/users/EWD/transcriptions/EWD10xx/EWD1009.html">transcription</a>) (May, 1987)</span> </li> <li id="cite_note-FOOTNOTEKnuth1974-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEKnuth1974_9-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFKnuth1974">Knuth 1974</a>.</span> </li> <li id="cite_note-FOOTNOTEKernighanRitchie198865–663.8_Goto_and_Labels-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEKernighanRitchie198865–663.8_Goto_and_Labels_10-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFKernighanRitchie1988">Kernighan & Ritchie 1988</a>, pp. 65–66, 3.8 Goto and Labels.</span> </li> <li id="cite_note-FOOTNOTEVine2007262-11"><span class="mw-cite-backlink">^ <a href="#cite_ref-FOOTNOTEVine2007262_11-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-FOOTNOTEVine2007262_11-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-FOOTNOTEVine2007262_11-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><a href="#CITEREFVine2007">Vine 2007</a>, p. 262.</span> </li> <li id="cite_note-FOOTNOTEGeisler2011-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEGeisler2011_12-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFGeisler2011">Geisler 2011</a>.</span> </li> <li id="cite_note-FOOTNOTEPrata2013-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEPrata2013_13-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFPrata2013">Prata 2013</a>.</span> </li> <li id="cite_note-FOOTNOTESahniCmelik1995-14"><span class="mw-cite-backlink">^ <a href="#cite_ref-FOOTNOTESahniCmelik1995_14-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-FOOTNOTESahniCmelik1995_14-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-FOOTNOTESahniCmelik1995_14-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-FOOTNOTESahniCmelik1995_14-3"><sup><i><b>d</b></i></sup></a></span> <span class="reference-text"><a href="#CITEREFSahniCmelik1995">Sahni & Cmelik 1995</a>.</span> </li> <li id="cite_note-FOOTNOTEAndrews2003-15"><span class="mw-cite-backlink">^ <a href="#cite_ref-FOOTNOTEAndrews2003_15-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-FOOTNOTEAndrews2003_15-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-FOOTNOTEAndrews2003_15-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><a href="#CITEREFAndrews2003">Andrews 2003</a>.</span> </li> <li id="cite_note-FOOTNOTEMcConnell2004-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEMcConnell2004_16-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFMcConnell2004">McConnell 2004</a>.</span> </li> <li id="cite_note-FOOTNOTERegehr2013-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTERegehr2013_17-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFRegehr2013">Regehr 2013</a>.</span> </li> <li id="cite_note-FOOTNOTERoberts1995-18"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTERoberts1995_18-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFRoberts1995">Roberts 1995</a>.</span> </li> <li id="cite_note-FOOTNOTEMeyer2009-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEMeyer2009_19-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFMeyer2009">Meyer 2009</a>.</span> </li> <li id="cite_note-FOOTNOTEKozenTseng2008-20"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEKozenTseng2008_20-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFKozenTseng2008">Kozen & Tseng 2008</a>.</span> </li> <li id="cite_note-FOOTNOTEStack_Overflow_Questions2012-21"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEStack_Overflow_Questions2012_21-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFStack_Overflow_Questions2012">Stack Overflow Questions 2012</a>.</span> </li> <li id="cite_note-FOOTNOTEPitchfordTapp2013-22"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEPitchfordTapp2013_22-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFPitchfordTapp2013">Pitchford & Tapp 2013</a>.</span> </li> <li id="cite_note-FOOTNOTEWilliams2013-23"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEWilliams2013_23-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFWilliams2013">Williams 2013</a>.</span> </li> <li id="cite_note-24"><span class="mw-cite-backlink"><b><a href="#cite_ref-24">^</a></b></span> <span class="reference-text">ANSI X3.9-1978. American National Standard – Programming Language FORTRAN. American National Standards Institute. Also known as ISO 1539-1980, informally known as FORTRAN 77</span> </li> <li id="cite_note-25"><span class="mw-cite-backlink"><b><a href="#cite_ref-25">^</a></b></span> <span class="reference-text">ISO/IEC 1539-1:1997. Information technology – Programming languages – Fortran – Part 1: Base language. Informally known as Fortran 95. There are a further two parts to this standard. Part 1 has been formally adopted by ANSI.</span> </li> <li id="cite_note-FOOTNOTEBarnes2006-26"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEBarnes2006_26-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFBarnes2006">Barnes 2006</a>.</span> </li> <li id="cite_note-FOOTNOTESummit1995-27"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTESummit1995_27-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFSummit1995">Summit 1995</a>.</span> </li> <li id="cite_note-FOOTNOTETorvalds2016-28"><span class="mw-cite-backlink">^ <a href="#cite_ref-FOOTNOTETorvalds2016_28-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-FOOTNOTETorvalds2016_28-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><a href="#CITEREFTorvalds2016">Torvalds 2016</a>.</span> </li> <li id="cite_note-FOOTNOTECozens2004-29"><span class="mw-cite-backlink">^ <a href="#cite_ref-FOOTNOTECozens2004_29-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-FOOTNOTECozens2004_29-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><a href="#CITEREFCozens2004">Cozens 2004</a>.</span> </li> <li id="cite_note-FOOTNOTEJava_Tutorial2012-30"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEJava_Tutorial2012_30-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFJava_Tutorial2012">Java Tutorial 2012</a>.</span> </li> <li id="cite_note-FOOTNOTEGoslingMcGilton1996-31"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEGoslingMcGilton1996_31-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFGoslingMcGilton1996">Gosling & McGilton 1996</a>.</span> </li> <li id="cite_note-FOOTNOTEBrender2002960–965-32"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEBrender2002960–965_32-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFBrender2002">Brender 2002</a>, pp. 960–965.</span> </li> <li id="cite_note-FOOTNOTESpinellis2003-33"><span class="mw-cite-backlink">^ <a href="#cite_ref-FOOTNOTESpinellis2003_33-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-FOOTNOTESpinellis2003_33-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><a href="#CITEREFSpinellis2003">Spinellis 2003</a>.</span> </li> <li id="cite_note-FOOTNOTEAllain2019-34"><span class="mw-cite-backlink">^ <a href="#cite_ref-FOOTNOTEAllain2019_34-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-FOOTNOTEAllain2019_34-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><a href="#CITEREFAllain2019">Allain 2019</a>.</span> </li> <li id="cite_note-FOOTNOTEStroustrup2012-35"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEStroustrup2012_35-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFStroustrup2012">Stroustrup 2012</a>.</span> </li> <li id="cite_note-36"><span class="mw-cite-backlink"><b><a href="#cite_ref-36">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFHoad2022" class="citation web cs1">Hoad, Nathan (28 July 2022). <a rel="nofollow" class="external text" href="https://github.com/nathanhoad/godot_dialogue_manager/blob/main/docs/Writing_Dialogue.md">"nathanhoad/godot_dialogue_manager"</a>. <i><a href="/wiki/GitHub" title="GitHub">GitHub</a></i><span class="reference-accessdate">. Retrieved <span class="nowrap">3 February</span> 2023</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=GitHub&rft.atitle=nathanhoad%2Fgodot_dialogue_manager&rft.date=2022-07-28&rft.aulast=Hoad&rft.aufirst=Nathan&rft_id=https%3A%2F%2Fgithub.com%2Fnathanhoad%2Fgodot_dialogue_manager%2Fblob%2Fmain%2Fdocs%2FWriting_Dialogue.md&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></span> </li> <li id="cite_note-FOOTNOTEChisnall2012-37"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEChisnall2012_37-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFChisnall2012">Chisnall 2012</a>.</span> </li> <li id="cite_note-FOOTNOTEContieri2021-38"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEContieri2021_38-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFContieri2021">Contieri 2021</a>.</span> </li> <li id="cite_note-FOOTNOTEWilkesWheelerGill1951-39"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEWilkesWheelerGill1951_39-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFWilkesWheelerGill1951">Wilkes, Wheeler & Gill 1951</a>.</span> </li> <li id="cite_note-FOOTNOTERamshaw1988-40"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTERamshaw1988_40-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFRamshaw1988">Ramshaw 1988</a>.</span> </li> <li id="cite_note-FOOTNOTESiedersleben2006-41"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTESiedersleben2006_41-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFSiedersleben2006">Siedersleben 2006</a>.</span> </li> <li id="cite_note-FOOTNOTESteele1977-42"><span class="mw-cite-backlink">^ <a href="#cite_ref-FOOTNOTESteele1977_42-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-FOOTNOTESteele1977_42-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><a href="#CITEREFSteele1977">Steele 1977</a>.</span> </li> <li id="cite_note-FOOTNOTEKelseyClingerRees1998-43"><span class="mw-cite-backlink">^ <a href="#cite_ref-FOOTNOTEKelseyClingerRees1998_43-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-FOOTNOTEKelseyClingerRees1998_43-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><a href="#CITEREFKelseyClingerRees1998">Kelsey, Clinger & Rees 1998</a>.</span> </li> <li id="cite_note-44"><span class="mw-cite-backlink"><b><a href="#cite_ref-44">^</a></b></span> <span class="reference-text">, which means that the program jumps to label 20, 30 or 40, in case that <i>i</i> is either less than, equal to or greater than zero.</span> </li> <li id="cite_note-FOOTNOTELahey_Computer_Systems,_Inc2004-45"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTELahey_Computer_Systems,_Inc2004_45-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFLahey_Computer_Systems,_Inc2004">Lahey Computer Systems, Inc 2004</a>.</span> </li> <li id="cite_note-FOOTNOTEMicrosoft2021-46"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEMicrosoft2021_46-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFMicrosoft2021">Microsoft 2021</a>.</span> </li> <li id="cite_note-FOOTNOTEWehr1997-47"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEWehr1997_47-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFWehr1997">Wehr 1997</a>.</span> </li> <li id="cite_note-FOOTNOTEz/OS_2.5.0_in_IBM_Documentation2021-48"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEz/OS_2.5.0_in_IBM_Documentation2021_48-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFz/OS_2.5.0_in_IBM_Documentation2021">z/OS 2.5.0 in IBM Documentation 2021</a>.</span> </li> <li id="cite_note-FOOTNOTEGCC,_the_GNU_Compiler_Collection2021-49"><span class="mw-cite-backlink">^ <a href="#cite_ref-FOOTNOTEGCC,_the_GNU_Compiler_Collection2021_49-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-FOOTNOTEGCC,_the_GNU_Compiler_Collection2021_49-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><a href="#CITEREFGCC,_the_GNU_Compiler_Collection2021">GCC, the GNU Compiler Collection 2021</a>.</span> </li> <li id="cite_note-FOOTNOTEFronczakLubbers1974226-50"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEFronczakLubbers1974226_50-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFFronczakLubbers1974">Fronczak & Lubbers 1974</a>, p. 226.</span> </li> <li id="cite_note-51"><span class="mw-cite-backlink"><b><a href="#cite_ref-51">^</a></b></span> <span class="reference-text">The ALTER statement was deemed obsolete in the COBOL 1985 standard and deleted in 2002; see <a href="/wiki/COBOL#Self-modifying_code" title="COBOL">COBOL > Self-modifying code</a></span> </li> <li id="cite_note-FOOTNOTEVan_Tassel2004-52"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEVan_Tassel2004_52-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFVan_Tassel2004">Van Tassel 2004</a>.</span> </li> <li id="cite_note-FOOTNOTEPerl_syntax_manual2021-53"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEPerl_syntax_manual2021_53-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFPerl_syntax_manual2021">Perl syntax manual 2021</a>.</span> </li> <li id="cite_note-FOOTNOTEGOTO_for_Java2009-54"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEGOTO_for_Java2009_54-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFGOTO_for_Java2009">GOTO for Java 2009</a>.</span> </li> <li id="cite_note-FOOTNOTESexton2012-55"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTESexton2012_55-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFSexton2012">Sexton 2012</a>.</span> </li> <li id="cite_note-FOOTNOTEHindle2004-56"><span class="mw-cite-backlink">^ <a href="#cite_ref-FOOTNOTEHindle2004_56-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-FOOTNOTEHindle2004_56-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><a href="#CITEREFHindle2004">Hindle 2004</a>.</span> </li> <li id="cite_note-FOOTNOTENoackBlankGraingerspacewander2015-57"><span class="mw-cite-backlink">^ <a href="#cite_ref-FOOTNOTENoackBlankGraingerspacewander2015_57-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-FOOTNOTENoackBlankGraingerspacewander2015_57-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><a href="#CITEREFNoackBlankGraingerspacewander2015">Noack et al. 2015</a>.</span> </li> <li id="cite_note-58"><span class="mw-cite-backlink"><b><a href="#cite_ref-58">^</a></b></span> <span class="reference-text"><a href="#CITEREFGoslingJoySteeleBracha2005">Gosling et al. (2005)</a> Unlike C and C++, the Java programming language has no goto statement; identifier statement labels are used with break (§14.15) or continue (§14.16) statements appearing anywhere within the labeled statement. The keywords const and goto are reserved, even though they are not currently used. This may allow a Java compiler to produce better error messages if these C++ keywords incorrectly appear in programs.</span> </li> <li id="cite_note-FOOTNOTEManual_for_the_Seed7_programming_language2021-59"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEManual_for_the_Seed7_programming_language2021_59-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFManual_for_the_Seed7_programming_language2021">Manual for the Seed7 programming language 2021</a>.</span> </li> <li id="cite_note-FOOTNOTEPHP_Manual2021-60"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEPHP_Manual2021_60-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFPHP_Manual2021">PHP Manual 2021</a>.</span> </li> <li id="cite_note-FOOTNOTEWagner2021-61"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEWagner2021_61-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFWagner2021">Wagner 2021</a>.</span> </li> <li id="cite_note-62"><span class="mw-cite-backlink"><b><a href="#cite_ref-62">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://learn.microsoft.com/en-us/dotnet/visual-basic/language-reference/statements/goto-statement">"GoTo Statement - Visual Basic | Microsoft Learn"</a>. <i>Microsoft Learn</i>. 15 September 2021<span class="reference-accessdate">. Retrieved <span class="nowrap">25 September</span> 2023</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Microsoft+Learn&rft.atitle=GoTo+Statement+-+Visual+Basic+%7C+Microsoft+Learn&rft.date=2021-09-15&rft_id=https%3A%2F%2Flearn.microsoft.com%2Fen-us%2Fdotnet%2Fvisual-basic%2Flanguage-reference%2Fstatements%2Fgoto-statement&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></span> </li> <li id="cite_note-FOOTNOTEThe_Go_Programming_Language_Specification2021-63"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEThe_Go_Programming_Language_Specification2021_63-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFThe_Go_Programming_Language_Specification2021">The Go Programming Language Specification 2021</a>.</span> </li> <li id="cite_note-FOOTNOTEGaller196226–28,_197,_211-64"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEGaller196226–28,_197,_211_64-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFGaller1962">Galler 1962</a>, pp. 26–28, 197, 211.</span> </li> </ol></div> <div class="mw-heading mw-heading2"><h2 id="References">References</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Goto&action=edit&section=21" title="Edit section: References"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1239549316">.mw-parser-output .refbegin{margin-bottom:0.5em}.mw-parser-output .refbegin-hanging-indents>ul{margin-left:0}.mw-parser-output .refbegin-hanging-indents>ul>li{margin-left:0;padding-left:3.2em;text-indent:-3.2em}.mw-parser-output .refbegin-hanging-indents ul,.mw-parser-output .refbegin-hanging-indents ul li{list-style:none}@media(max-width:720px){.mw-parser-output .refbegin-hanging-indents>ul>li{padding-left:1.6em;text-indent:-1.6em}}.mw-parser-output .refbegin-columns{margin-top:0.3em}.mw-parser-output .refbegin-columns ul{margin-top:0}.mw-parser-output .refbegin-columns li{page-break-inside:avoid;break-inside:avoid-column}@media screen{.mw-parser-output .refbegin{font-size:90%}}</style><div class="refbegin" style=""> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFAllain2019" class="citation web cs1">Allain, Alex (2019). <a rel="nofollow" class="external text" href="http://www.cprogramming.com/tutorial/goto.html">"When To Use Goto in C"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">2021-11-14</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=When+To+Use+Goto+in+C&rft.date=2019&rft.aulast=Allain&rft.aufirst=Alex&rft_id=http%3A%2F%2Fwww.cprogramming.com%2Ftutorial%2Fgoto.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFAndrews2003" class="citation web cs1">Andrews, Jeremy (13 January 2003). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20051128093253/http://kerneltrap.org/node/553/2131">"Linux: Using goto In Kernel Code"</a>. Archived from <a rel="nofollow" class="external text" href="http://kerneltrap.org/node/553/2131">the original</a> on 28 November 2005<span class="reference-accessdate">. Retrieved <span class="nowrap">2021-11-14</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Linux%3A+Using+goto+In+Kernel+Code&rft.date=2003-01-13&rft.aulast=Andrews&rft.aufirst=Jeremy&rft_id=http%3A%2F%2Fkerneltrap.org%2Fnode%2F553%2F2131&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFBarnes2006" class="citation book cs1"><a href="/wiki/John_Barnes_(computer_scientist)" title="John Barnes (computer scientist)">Barnes, John</a> (2006-06-30). <i>Programming in Ada 2005</i>. <a href="/wiki/Addison_Wesley" class="mw-redirect" title="Addison Wesley">Addison Wesley</a>. p. 114-115. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/978-0-321-34078-8" title="Special:BookSources/978-0-321-34078-8"><bdi>978-0-321-34078-8</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=Programming+in+Ada+2005&rft.pages=114-115&rft.pub=Addison+Wesley&rft.date=2006-06-30&rft.isbn=978-0-321-34078-8&rft.aulast=Barnes&rft.aufirst=John&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFBrender2002" class="citation journal cs1">Brender, Ronald F. (2002). <a rel="nofollow" class="external text" href="https://www.cs.tufts.edu/~nr/cs257/archive/ronald-brender/bliss.pdf">"The BLISS programming language: a history"</a> <span class="cs1-format">(PDF)</span>. <i>Software: Practice and Experience</i>. <b>32</b> (10): <span class="nowrap">955–</span>981. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1002%2Fspe.470">10.1002/spe.470</a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:45466625">45466625</a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=Software%3A+Practice+and+Experience&rft.atitle=The+BLISS+programming+language%3A+a+history&rft.volume=32&rft.issue=10&rft.pages=%3Cspan+class%3D%22nowrap%22%3E955-%3C%2Fspan%3E981&rft.date=2002&rft_id=info%3Adoi%2F10.1002%2Fspe.470&rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A45466625%23id-name%3DS2CID&rft.aulast=Brender&rft.aufirst=Ronald+F.&rft_id=https%3A%2F%2Fwww.cs.tufts.edu%2F~nr%2Fcs257%2Farchive%2Fronald-brender%2Fbliss.pdf&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFChisnall2012" class="citation book cs1">Chisnall, David (2012). <span class="id-lock-registration" title="Free registration required"><a rel="nofollow" class="external text" href="https://archive.org/details/objectivecphrase0000chis"><i>Objective-C Phrasebook</i></a></span>. Addison-Wesley Professional. p. <a rel="nofollow" class="external text" href="https://archive.org/details/objectivecphrase0000chis/page/249">249</a>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/978-0-321-81375-6" title="Special:BookSources/978-0-321-81375-6"><bdi>978-0-321-81375-6</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=Objective-C+Phrasebook&rft.pages=249&rft.pub=Addison-Wesley+Professional&rft.date=2012&rft.isbn=978-0-321-81375-6&rft.aulast=Chisnall&rft.aufirst=David&rft_id=https%3A%2F%2Farchive.org%2Fdetails%2Fobjectivecphrase0000chis&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFContieri2021" class="citation web cs1">Contieri, Maxi (2021-11-02). <a rel="nofollow" class="external text" href="https://maximilianocontieri.com/code-smell-100-goto">"Code Smell 100 - GoTo"</a>. <i>Maximiliano Contieri - Software Design</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2021-11-14</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Maximiliano+Contieri+-+Software+Design&rft.atitle=Code+Smell+100+-+GoTo&rft.date=2021-11-02&rft.aulast=Contieri&rft.aufirst=Maxi&rft_id=https%3A%2F%2Fmaximilianocontieri.com%2Fcode-smell-100-goto&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFCozens2004" class="citation web cs1">Cozens, Simon (2004-04-16). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20110319021034/http://www.simon-cozens.org/content/good-uses-goto">"Good uses of goto"</a>. Archived from <a rel="nofollow" class="external text" href="http://www.simon-cozens.org/content/good-uses-goto">the original</a> on 2011-03-19.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Good+uses+of+goto&rft.date=2004-04-16&rft.aulast=Cozens&rft.aufirst=Simon&rft_id=http%3A%2F%2Fwww.simon-cozens.org%2Fcontent%2Fgood-uses-goto&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFDijkstra1968" class="citation journal cs1"><a href="/wiki/Edsger_Dijkstra" class="mw-redirect" title="Edsger Dijkstra">Dijkstra, Edsger W.</a> (March 1968). <a rel="nofollow" class="external text" href="https://www.cs.utexas.edu/users/EWD/ewd02xx/EWD215.PDF">"Letters to the editor: Go to statement considered harmful"</a> <span class="cs1-format">(PDF)</span>. <i>Communications of the ACM</i>. <b>11</b> (3): <span class="nowrap">147–</span>148. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F362929.362947">10.1145/362929.362947</a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:17469809">17469809</a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=Communications+of+the+ACM&rft.atitle=Letters+to+the+editor%3A+Go+to+statement+considered+harmful&rft.volume=11&rft.issue=3&rft.pages=%3Cspan+class%3D%22nowrap%22%3E147-%3C%2Fspan%3E148&rft.date=1968-03&rft_id=info%3Adoi%2F10.1145%2F362929.362947&rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A17469809%23id-name%3DS2CID&rft.aulast=Dijkstra&rft.aufirst=Edsger+W.&rft_id=https%3A%2F%2Fwww.cs.utexas.edu%2Fusers%2FEWD%2Fewd02xx%2FEWD215.PDF&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFDijkstra" class="citation book cs1"><a href="/wiki/Edsger_W._Dijkstra" title="Edsger W. Dijkstra">Dijkstra, Edsger W.</a> <a rel="nofollow" class="external text" href="http://www.cs.utexas.edu/users/EWD/ewd10xx/EWD1009.PDF"><i>On a Somewhat Disappointing Correspondence (EWD-1009)</i></a> <span class="cs1-format">(PDF)</span>. E.W. Dijkstra Archive. Center for American History, <a href="/wiki/University_of_Texas_at_Austin" title="University of Texas at Austin">University of Texas at Austin</a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=On+a+Somewhat+Disappointing+Correspondence+%28EWD-1009%29&rft.series=E.W.+Dijkstra+Archive&rft.pub=Center+for+American+History%2C+University+of+Texas+at+Austin&rft.aulast=Dijkstra&rft.aufirst=Edsger+W.&rft_id=http%3A%2F%2Fwww.cs.utexas.edu%2Fusers%2FEWD%2Fewd10xx%2FEWD1009.PDF&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span> (<a rel="nofollow" class="external text" href="http://www.cs.utexas.edu/users/EWD/transcriptions/EWD10xx/EWD1009.html">transcription</a>)</li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFFronczakLubbers1974" class="citation book cs1">Fronczak, Edward J.; Lubbers, Clark E. (September 1974). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=_wLvAAAAMAAJ&pg=PA226"><i>MTS, Michigan Terminal System</i></a>. University of Michigan Computing Center. UOM:39015034770076.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=MTS%2C+Michigan+Terminal+System&rft.pub=University+of+Michigan+Computing+Center&rft.date=1974-09&rft.aulast=Fronczak&rft.aufirst=Edward+J.&rft.au=Lubbers%2C+Clark+E.&rft_id=https%3A%2F%2Fbooks.google.com%2Fbooks%3Fid%3D_wLvAAAAMAAJ%26pg%3DPA226&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFGaller1962" class="citation book cs1">Galler, Bernard A. (January 1, 1962). <a rel="nofollow" class="external text" href="http://www.bitsavers.org/pdf/univOfMichigan/mad/Galler_TheLangOfComps_1962.pdf"><i>The Language of Computers</i></a> <span class="cs1-format">(PDF)</span>. McGraw-Hill.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=The+Language+of+Computers&rft.pub=McGraw-Hill&rft.date=1962-01-01&rft.aulast=Galler&rft.aufirst=Bernard+A.&rft_id=http%3A%2F%2Fwww.bitsavers.org%2Fpdf%2FunivOfMichigan%2Fmad%2FGaller_TheLangOfComps_1962.pdf&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFGCC,_the_GNU_Compiler_Collection2021" class="citation web cs1">GCC, the GNU Compiler Collection (2021). <a rel="nofollow" class="external text" href="https://gcc.gnu.org/onlinedocs/gcc/Labels-as-Values.html">"Labels as Values - Using the GNU Compiler Collection (GCC)"</a>. Gcc.gnu.org<span class="reference-accessdate">. Retrieved <span class="nowrap">2021-11-13</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Labels+as+Values+-+Using+the+GNU+Compiler+Collection+%28GCC%29&rft.pub=Gcc.gnu.org&rft.date=2021&rft.au=GCC%2C+the+GNU+Compiler+Collection&rft_id=https%3A%2F%2Fgcc.gnu.org%2Fonlinedocs%2Fgcc%2FLabels-as-Values.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFGeisler2011" class="citation book cs1">Geisler, Sandra (2011). <i>C All-in-One Desk Reference For Dummies</i>. John Wiley & Sons. pp. <span class="nowrap">217–</span>220. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/978-1-118-05424-6" title="Special:BookSources/978-1-118-05424-6"><bdi>978-1-118-05424-6</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=C+All-in-One+Desk+Reference+For+Dummies&rft.pages=%3Cspan+class%3D%22nowrap%22%3E217-%3C%2Fspan%3E220&rft.pub=John+Wiley+%26+Sons&rft.date=2011&rft.isbn=978-1-118-05424-6&rft.aulast=Geisler&rft.aufirst=Sandra&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFGNU_Pascal_development_team2005" class="citation web cs1"><a href="/wiki/Free_Software_Foundation" title="Free Software Foundation">GNU Pascal development team</a> (2005). <a rel="nofollow" class="external text" href="http://www.gnu-pascal.de/h-gpcs-en.html#Assorted-Tips">"GNU Pascal Coding Standards"</a>. <i>www.gnu-pascal.de</i>. Free Software Foundation<span class="reference-accessdate">. Retrieved <span class="nowrap">2021-11-10</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=www.gnu-pascal.de&rft.atitle=GNU+Pascal+Coding+Standards&rft.date=2005&rft.au=GNU+Pascal+development+team&rft_id=http%3A%2F%2Fwww.gnu-pascal.de%2Fh-gpcs-en.html%23Assorted-Tips&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFGoslingMcGilton1996" class="citation web cs1"><a href="/wiki/James_Gosling" title="James Gosling">Gosling, James</a>; McGilton, Henry (May 1996). <a rel="nofollow" class="external text" href="http://www.oracle.com/technetwork/java/simple-142616.html">"The Java Language Environment"</a>. Oracle.com<span class="reference-accessdate">. Retrieved <span class="nowrap">2014-07-22</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=The+Java+Language+Environment&rft.pub=Oracle.com&rft.date=1996-05&rft.aulast=Gosling&rft.aufirst=James&rft.au=McGilton%2C+Henry&rft_id=http%3A%2F%2Fwww.oracle.com%2Ftechnetwork%2Fjava%2Fsimple-142616.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFGoslingJoySteeleBracha2005" class="citation book cs1">Gosling, James; <a href="/wiki/Bill_Joy" title="Bill Joy">Joy, Bill</a>; <a href="/wiki/Guy_L._Steele,_Jr." class="mw-redirect" title="Guy L. Steele, Jr.">Steele, Guy Lewis</a>; <a href="/wiki/Gilad_Bracha" title="Gilad Bracha">Bracha, Gilad</a> (2005). <a rel="nofollow" class="external text" href="https://java.sun.com/docs/books/jls/index.html"><i>The Java Language Specification</i></a> (3rd ed.). Addison-Wesley. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/0-321-24678-0" title="Special:BookSources/0-321-24678-0"><bdi>0-321-24678-0</bdi></a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20120214061826/http://java.sun.com/docs/books/jls/index.html">Archived</a> from the original on February 14, 2012<span class="reference-accessdate">. Retrieved <span class="nowrap">February 8,</span> 2019</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=The+Java+Language+Specification&rft.edition=3rd&rft.pub=Addison-Wesley&rft.date=2005&rft.isbn=0-321-24678-0&rft.aulast=Gosling&rft.aufirst=James&rft.au=Joy%2C+Bill&rft.au=Steele%2C+Guy+Lewis&rft.au=Bracha%2C+Gilad&rft_id=https%3A%2F%2Fjava.sun.com%2Fdocs%2Fbooks%2Fjls%2Findex.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFGOTO_for_Java2009" class="citation web cs1">GOTO for Java (July 6, 2009). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20120615003103/http://www.steike.com/code/useless/java-goto/">"GOTO for Java"</a>. <i>steik</i>. Archived from <a rel="nofollow" class="external text" href="http://www.steike.com/code/useless/java-goto/">the original</a> on June 15, 2012<span class="reference-accessdate">. Retrieved <span class="nowrap">April 28,</span> 2012</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=steik&rft.atitle=GOTO+for+Java&rft.date=2009-07-06&rft.au=GOTO+for+Java&rft_id=http%3A%2F%2Fwww.steike.com%2Fcode%2Fuseless%2Fjava-goto%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFHindle2004" class="citation web cs1">Hindle, Richie (April 1, 2004). <a rel="nofollow" class="external text" href="http://entrian.com/goto/">"goto for Python"</a>. <i>Entrian Solutions</i>. Hertford, UK: Entrian Solutions Ltd<span class="reference-accessdate">. Retrieved <span class="nowrap">2021-11-10</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Entrian+Solutions&rft.atitle=goto+for+Python&rft.date=2004-04-01&rft.aulast=Hindle&rft.aufirst=Richie&rft_id=http%3A%2F%2Fentrian.com%2Fgoto%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFJava_Tutorial2012" class="citation web cs1">Java Tutorial (2012-02-28). <a rel="nofollow" class="external text" href="http://docs.oracle.com/javase/tutorial/java/nutsandbolts/branch.html">"Branching Statements (The Java Tutorials > Learning the Java Language > Language Basics)"</a>. Docs.oracle.com<span class="reference-accessdate">. Retrieved <span class="nowrap">2021-11-10</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Branching+Statements+%28The+Java+Tutorials+%3E+Learning+the+Java+Language+%3E+Language+Basics%29&rft.pub=Docs.oracle.com&rft.date=2012-02-28&rft.au=Java+Tutorial&rft_id=http%3A%2F%2Fdocs.oracle.com%2Fjavase%2Ftutorial%2Fjava%2Fnutsandbolts%2Fbranch.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFKelseyClingerRees1998" class="citation journal cs1">Kelsey, R.; Clinger, W.; Rees, J.; et al. (August 1998). <a rel="nofollow" class="external text" href="http://www.schemers.org/Documents/Standards/R5RS/">"Revised<sup>5</sup> Report on the Algorithmic Language Scheme"</a>. <i>Higher-Order and Symbolic Computation</i>. <b>11</b> (1): <span class="nowrap">7–</span>105. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1023%2FA%3A1010051815785">10.1023/A:1010051815785</a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:14069423">14069423</a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=Higher-Order+and+Symbolic+Computation&rft.atitle=Revised%3Csup%3E5%3C%2Fsup%3E+Report+on+the+Algorithmic+Language+Scheme&rft.volume=11&rft.issue=1&rft.pages=%3Cspan+class%3D%22nowrap%22%3E7-%3C%2Fspan%3E105&rft.date=1998-08&rft_id=info%3Adoi%2F10.1023%2FA%3A1010051815785&rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A14069423%23id-name%3DS2CID&rft.aulast=Kelsey&rft.aufirst=R.&rft.au=Clinger%2C+W.&rft.au=Rees%2C+J.&rft_id=http%3A%2F%2Fwww.schemers.org%2FDocuments%2FStandards%2FR5RS%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFKernighanRitchie1988" class="citation book cs1"><a href="/wiki/Brian_Kernighan" title="Brian Kernighan">Kernighan, Brian Wilson</a>; <a href="/wiki/Dennis_Ritchie" title="Dennis Ritchie">Ritchie, Dennis MacAlistair</a> (1988). <span class="id-lock-registration" title="Free registration required"><a rel="nofollow" class="external text" href="https://archive.org/details/cprogramminglang00bria"><i>C Programming Language</i></a></span> (2nd ed.). Prentice Hall. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/978-0-13-308621-8" title="Special:BookSources/978-0-13-308621-8"><bdi>978-0-13-308621-8</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=C+Programming+Language&rft.edition=2nd&rft.pub=Prentice+Hall&rft.date=1988&rft.isbn=978-0-13-308621-8&rft.aulast=Kernighan&rft.aufirst=Brian+Wilson&rft.au=Ritchie%2C+Dennis+MacAlistair&rft_id=https%3A%2F%2Farchive.org%2Fdetails%2Fcprogramminglang00bria&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFKnuth1974" class="citation journal cs1"><a href="/wiki/Donald_Knuth" title="Donald Knuth">Knuth, Donald</a> (1974). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20170717042242/https://www.cs.sjsu.edu/~mak/CS185C/KnuthStructuredProgrammingGoTo.pdf">"Structured Programming with go to Statements"</a> <span class="cs1-format">(PDF)</span>. <i>Computing Surveys</i>. <b>6</b> (4): <span class="nowrap">261–</span>301. <a href="/wiki/CiteSeerX_(identifier)" class="mw-redirect" title="CiteSeerX (identifier)">CiteSeerX</a> <span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.103.6084">10.1.1.103.6084</a></span>. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F356635.356640">10.1145/356635.356640</a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:207630080">207630080</a>. Archived from <a rel="nofollow" class="external text" href="https://www.cs.sjsu.edu/~mak/CS185C/KnuthStructuredProgrammingGoTo.pdf">the original</a> <span class="cs1-format">(PDF)</span> on 2017-07-17<span class="reference-accessdate">. Retrieved <span class="nowrap">2017-01-26</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=Computing+Surveys&rft.atitle=Structured+Programming+with+go+to+Statements&rft.volume=6&rft.issue=4&rft.pages=%3Cspan+class%3D%22nowrap%22%3E261-%3C%2Fspan%3E301&rft.date=1974&rft_id=https%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fsummary%3Fdoi%3D10.1.1.103.6084%23id-name%3DCiteSeerX&rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A207630080%23id-name%3DS2CID&rft_id=info%3Adoi%2F10.1145%2F356635.356640&rft.aulast=Knuth&rft.aufirst=Donald&rft_id=https%3A%2F%2Fwww.cs.sjsu.edu%2F~mak%2FCS185C%2FKnuthStructuredProgrammingGoTo.pdf&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFKozenTseng2008" class="citation conference cs1"><a href="/wiki/Dexter_Kozen" title="Dexter Kozen">Kozen, Dexter</a>; Tseng, Wei-Lung Dustin (July 2008). <a rel="nofollow" class="external text" href="http://www.cs.cornell.edu/~kozen/papers/bohmjacopini.pdf">"The Böhm_Jacopini Theorem Is False, Propositionally"</a> <span class="cs1-format">(PDF)</span>. In Audebaud, Philippe; Paulin-Mohring, Christine (eds.). <i>Mathematics of Program Construction</i>. 9th International Conference MPC 2008. Lecture Notes in Computer Science. Vol. 5133. Marseille France. pp. 177_192. <a href="/wiki/CiteSeerX_(identifier)" class="mw-redirect" title="CiteSeerX (identifier)">CiteSeerX</a> <span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.218.9241">10.1.1.218.9241</a></span>. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2F978-3-540-70594-9_11">10.1007/978-3-540-70594-9_11</a>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/978-3-540-70593-2" title="Special:BookSources/978-3-540-70593-2"><bdi>978-3-540-70593-2</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=conference&rft.atitle=The+B%C3%B6hm_Jacopini+Theorem+Is+False%2C+Propositionally&rft.btitle=Mathematics+of+Program+Construction&rft.place=Marseille+France&rft.series=Lecture+Notes+in+Computer+Science&rft.pages=177_192&rft.date=2008-07&rft_id=https%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fsummary%3Fdoi%3D10.1.1.218.9241%23id-name%3DCiteSeerX&rft_id=info%3Adoi%2F10.1007%2F978-3-540-70594-9_11&rft.isbn=978-3-540-70593-2&rft.aulast=Kozen&rft.aufirst=Dexter&rft.au=Tseng%2C+Wei-Lung+Dustin&rft_id=http%3A%2F%2Fwww.cs.cornell.edu%2F~kozen%2Fpapers%2Fbohmjacopini.pdf&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFLahey_Computer_Systems,_Inc2004" class="citation web cs1">Lahey Computer Systems, Inc (2004). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20160526142532/http://www.lahey.com/docs/lfprohelp/F95ARComputed_GOTOStmt.htm">"Computed GOTO Statement (obsolescent)"</a>. Lahey Computer Systems, Inc. Archived from <a rel="nofollow" class="external text" href="http://www.lahey.com/docs/lfprohelp/F95ARComputed_GOTOStmt.htm">the original</a> on 2016-05-26<span class="reference-accessdate">. Retrieved <span class="nowrap">2021-11-10</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Computed+GOTO+Statement+%28obsolescent%29&rft.pub=Lahey+Computer+Systems%2C+Inc.&rft.date=2004&rft.au=Lahey+Computer+Systems%2C+Inc&rft_id=http%3A%2F%2Fwww.lahey.com%2Fdocs%2Flfprohelp%2FF95ARComputed_GOTOStmt.htm&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFLoudenLambert2012" class="citation book cs1">Louden, Kenneth C.; Lambert, Kenneth A. (2012). <span class="id-lock-limited" title="Free access subject to limited trial, subscription normally required"><a rel="nofollow" class="external text" href="https://archive.org/details/programminglangu00loud_140"><i>Programming Languages: Principles and Practices</i></a></span>. Cengage Learning. p. <a rel="nofollow" class="external text" href="https://archive.org/details/programminglangu00loud_140/page/n426">422</a>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/978-1-111-52941-3" title="Special:BookSources/978-1-111-52941-3"><bdi>978-1-111-52941-3</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=Programming+Languages%3A+Principles+and+Practices&rft.pages=422&rft.pub=Cengage+Learning&rft.date=2012&rft.isbn=978-1-111-52941-3&rft.aulast=Louden&rft.aufirst=Kenneth+C.&rft.au=Lambert%2C+Kenneth+A.&rft_id=https%3A%2F%2Farchive.org%2Fdetails%2Fprogramminglangu00loud_140&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFManual_for_the_Seed7_programming_language2021" class="citation web cs1">Manual for the Seed7 programming language (2021). <a rel="nofollow" class="external text" href="http://seed7.sourceforge.net/manual/intro.htm#Features_of_Seed7">"Features of Seed7"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">2021-11-10</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Features+of+Seed7&rft.date=2021&rft.au=Manual+for+the+Seed7+programming+language&rft_id=http%3A%2F%2Fseed7.sourceforge.net%2Fmanual%2Fintro.htm%23Features_of_Seed7&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span><span class="cs1-maint citation-comment"><code class="cs1-code">{{<a href="/wiki/Template:Cite_web" title="Template:Cite web">cite web</a>}}</code>: CS1 maint: numeric names: authors list (<a href="/wiki/Category:CS1_maint:_numeric_names:_authors_list" title="Category:CS1 maint: numeric names: authors list">link</a>)</span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFMcConnell2004" class="citation book cs1">McConnell, Steve (December 2004). <i>Code Complete: A Practical Handbook of Software Construction, Second Edition</i> (2nd ed.). Microsoft Press. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/978-0735619678" title="Special:BookSources/978-0735619678"><bdi>978-0735619678</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=Code+Complete%3A+A+Practical+Handbook+of+Software+Construction%2C+Second+Edition&rft.edition=2nd&rft.pub=Microsoft+Press&rft.date=2004-12&rft.isbn=978-0735619678&rft.aulast=McConnell&rft.aufirst=Steve&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFMeyer2009" class="citation book cs1">Meyer, Bertrand (2009). <i>Touch of Class: Learning to Program Well with Objects and Contracts</i>. Springer Science & Business Media. p. 189. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/978-3-540-92144-8" title="Special:BookSources/978-3-540-92144-8"><bdi>978-3-540-92144-8</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=Touch+of+Class%3A+Learning+to+Program+Well+with+Objects+and+Contracts&rft.pages=189&rft.pub=Springer+Science+%26+Business+Media&rft.date=2009&rft.isbn=978-3-540-92144-8&rft.aulast=Meyer&rft.aufirst=Bertrand&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFMicrosoft2021" class="citation web cs1"><a href="/wiki/Microsoft" title="Microsoft">Microsoft</a> (2021). <a rel="nofollow" class="external text" href="https://docs.microsoft.com/en-us/dotnet/visual-basic/misc/bc30817">"<span class="cs1-kern-left"></span>'On GoTo' and 'On GoSub' statements are no longer supported"</a>. <a href="/wiki/Microsoft" title="Microsoft">Microsoft</a><span class="reference-accessdate">. Retrieved <span class="nowrap">2021-11-10</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=%27On+GoTo%27+and+%27On+GoSub%27+statements+are+no+longer+supported&rft.pub=Microsoft&rft.date=2021&rft.au=Microsoft&rft_id=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fdotnet%2Fvisual-basic%2Fmisc%2Fbc30817&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFNoackBlankGraingerspacewander2015" class="citation web cs1">Noack, Sebastian; Blank, Douglas; Grainger, Thomas; spacewander (September 19, 2015). <a rel="nofollow" class="external text" href="https://github.com/snoack/python-goto">"snoack/python-goto: A function decorator, that rewrites the bytecode, to enable goto in Python"</a>. <i><a href="/wiki/GitHub" title="GitHub">GitHub</a></i><span class="reference-accessdate">. Retrieved <span class="nowrap">2021-11-10</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=GitHub&rft.atitle=snoack%2Fpython-goto%3A+A+function+decorator%2C+that+rewrites+the+bytecode%2C+to+enable+goto+in+Python&rft.date=2015-09-19&rft.aulast=Noack&rft.aufirst=Sebastian&rft.au=Blank%2C+Douglas&rft.au=Grainger%2C+Thomas&rft.au=spacewander&rft_id=https%3A%2F%2Fgithub.com%2Fsnoack%2Fpython-goto&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFPerl_syntax_manual2021" class="citation report cs1">Perl syntax manual (2021). <a rel="nofollow" class="external text" href="https://perldoc.perl.org/perlsyn#Goto">Goto</a> (Report)<span class="reference-accessdate">. Retrieved <span class="nowrap">2021-11-14</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=report&rft.btitle=Goto&rft.date=2021&rft.au=Perl+syntax+manual&rft_id=https%3A%2F%2Fperldoc.perl.org%2Fperlsyn%23Goto&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFPHP_Manual2021" class="citation web cs1">PHP Manual (2021). <a rel="nofollow" class="external text" href="https://www.php.net/manual/en/control-structures.goto.php">"goto"</a>. PHP<span class="reference-accessdate">. Retrieved <span class="nowrap">2021-11-13</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=goto&rft.pub=PHP&rft.date=2021&rft.au=PHP+Manual&rft_id=https%3A%2F%2Fwww.php.net%2Fmanual%2Fen%2Fcontrol-structures.goto.php&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFPitchfordTapp2013" class="citation web cs1">Pitchford, Mark; Tapp, Chris (2013-02-25). <a rel="nofollow" class="external text" href="http://electronicdesign.com/dev-tools/misra-c2012-plenty-good-reasons-change">"MISRA C:2012: Plenty Of Good Reasons To Change"</a>. Electronic Design<span class="reference-accessdate">. Retrieved <span class="nowrap">2014-07-22</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=MISRA+C%3A2012%3A+Plenty+Of+Good+Reasons+To+Change&rft.pub=Electronic+Design&rft.date=2013-02-25&rft.aulast=Pitchford&rft.aufirst=Mark&rft.au=Tapp%2C+Chris&rft_id=http%3A%2F%2Felectronicdesign.com%2Fdev-tools%2Fmisra-c2012-plenty-good-reasons-change&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFPrata2013" class="citation book cs1">Prata, Stephen (2013). <i>C Primer Plus</i>. Addison-Wesley. pp. <span class="nowrap">287–</span>289. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/978-0-13-343238-1" title="Special:BookSources/978-0-13-343238-1"><bdi>978-0-13-343238-1</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=C+Primer+Plus&rft.pages=%3Cspan+class%3D%22nowrap%22%3E287-%3C%2Fspan%3E289&rft.pub=Addison-Wesley&rft.date=2013&rft.isbn=978-0-13-343238-1&rft.aulast=Prata&rft.aufirst=Stephen&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFRamshaw1988" class="citation journal cs1">Ramshaw, L. (1988). <a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F48014.48021">"Eliminating go to's while preserving program structure"</a>. <i>Journal of the ACM</i>. <b>35</b> (4): <span class="nowrap">893–</span>920. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F48014.48021">10.1145/48014.48021</a></span>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:31001665">31001665</a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=Journal+of+the+ACM&rft.atitle=Eliminating+go+to%27s+while+preserving+program+structure&rft.volume=35&rft.issue=4&rft.pages=%3Cspan+class%3D%22nowrap%22%3E893-%3C%2Fspan%3E920&rft.date=1988&rft_id=info%3Adoi%2F10.1145%2F48014.48021&rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A31001665%23id-name%3DS2CID&rft.aulast=Ramshaw&rft.aufirst=L.&rft_id=https%3A%2F%2Fdoi.org%2F10.1145%252F48014.48021&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFRegehr2013" class="citation web cs1"><a href="/wiki/John_Regehr" title="John Regehr">Regehr, John</a> (February 4, 2013). <a rel="nofollow" class="external text" href="http://blog.regehr.org/archives/894">"Use of Goto in Systems Code – Embedded in Academia"</a>. <i>blog.regehr.org</i>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=blog.regehr.org&rft.atitle=Use+of+Goto+in+Systems+Code+%E2%80%93+Embedded+in+Academia&rft.date=2013-02-04&rft.aulast=Regehr&rft.aufirst=John&rft_id=http%3A%2F%2Fblog.regehr.org%2Farchives%2F894&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFRoberts1995" class="citation journal cs1">Roberts, Eric S. (March 1995). <a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F199691.199815">"Loop exits and structured programming: reopening the debate"</a>. <i>ACM SIGCSE Bulletin</i>. <b>27</b> (1): <span class="nowrap">268–</span>272. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F199691.199815">10.1145/199691.199815</a></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=ACM+SIGCSE+Bulletin&rft.atitle=Loop+exits+and+structured+programming%3A+reopening+the+debate&rft.volume=27&rft.issue=1&rft.pages=%3Cspan+class%3D%22nowrap%22%3E268-%3C%2Fspan%3E272&rft.date=1995-03&rft_id=info%3Adoi%2F10.1145%2F199691.199815&rft.aulast=Roberts&rft.aufirst=Eric+S.&rft_id=https%3A%2F%2Fdoi.org%2F10.1145%252F199691.199815&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFRubin1987" class="citation journal cs1">Rubin, Frank (March 1987). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20090320002214/http://www.ecn.purdue.edu/ParaMount/papers/rubin87goto.pdf">"<span class="cs1-kern-left"></span>"GOTO Considered Harmful" Considered Harmful"</a> <span class="cs1-format">(PDF)</span>. <i>Communications of the ACM</i>. <b>30</b> (3): <span class="nowrap">195–</span>196. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F214748.315722">10.1145/214748.315722</a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:6853038">6853038</a>. Archived from <a rel="nofollow" class="external text" href="http://www.ecn.purdue.edu/ParaMount/papers/rubin87goto.pdf">the original</a> <span class="cs1-format">(PDF)</span> on 2009-03-20.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=Communications+of+the+ACM&rft.atitle=%22GOTO+Considered+Harmful%22+Considered+Harmful&rft.volume=30&rft.issue=3&rft.pages=%3Cspan+class%3D%22nowrap%22%3E195-%3C%2Fspan%3E196&rft.date=1987-03&rft_id=info%3Adoi%2F10.1145%2F214748.315722&rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A6853038%23id-name%3DS2CID&rft.aulast=Rubin&rft.aufirst=Frank&rft_id=http%3A%2F%2Fwww.ecn.purdue.edu%2FParaMount%2Fpapers%2Frubin87goto.pdf&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFSahniCmelik1995" class="citation book cs1">Sahni, Sartaj; Cmelik, Bob (1995). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=78hu9aMNMZQC&pg=PA135"><i>Software Development in C</i></a>. Silicon Press. p. 135. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/978-0-929306-16-2" title="Special:BookSources/978-0-929306-16-2"><bdi>978-0-929306-16-2</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=Software+Development+in+C&rft.pages=135&rft.pub=Silicon+Press&rft.date=1995&rft.isbn=978-0-929306-16-2&rft.aulast=Sahni&rft.aufirst=Sartaj&rft.au=Cmelik%2C+Bob&rft_id=https%3A%2F%2Fbooks.google.com%2Fbooks%3Fid%3D78hu9aMNMZQC%26pg%3DPA135&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFSexton2012" class="citation web cs1 cs1-prop-unfit">Sexton, Alex (2012). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20151025183831/http://www.summerofgoto.com">"The Summer of Goto | Official Home of Goto.js"</a>. Archived from the original on October 25, 2015.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=The+Summer+of+Goto+%26%23124%3B+Official+Home+of+Goto.js&rft.date=2012&rft.aulast=Sexton&rft.aufirst=Alex&rft_id=http%3A%2F%2Fsummerofgoto.com%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFSiedersleben2006" class="citation book cs1">Siedersleben, Johannes (2006). "Errors and Exceptions - Rights and Obligations". In Christophe Dony (ed.). <span class="id-lock-limited" title="Free access subject to limited trial, subscription normally required"><a rel="nofollow" class="external text" href="https://archive.org/details/advancedtopicsex00dony"><i>Advanced Topics in Exception Handling Techniques</i></a></span>. Springer Science & Business Media. p. <a rel="nofollow" class="external text" href="https://archive.org/details/advancedtopicsex00dony/page/n285">277</a>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/978-3-540-37443-5" title="Special:BookSources/978-3-540-37443-5"><bdi>978-3-540-37443-5</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=bookitem&rft.atitle=Errors+and+Exceptions+-+Rights+and+Obligations&rft.btitle=Advanced+Topics+in+Exception+Handling+Techniques&rft.pages=277&rft.pub=Springer+Science+%26+Business+Media&rft.date=2006&rft.isbn=978-3-540-37443-5&rft.aulast=Siedersleben&rft.aufirst=Johannes&rft_id=https%3A%2F%2Farchive.org%2Fdetails%2Fadvancedtopicsex00dony&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFSpinellis2003" class="citation book cs1">Spinellis, Diomidis (27 May 2003). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=8lYbNfsAVT4C&pg=PA43"><i>Code Reading: The Open Source Perspective</i></a>. Addison-Wesley Professional. pp. <span class="nowrap">43–</span>44. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/978-0-672-33370-5" title="Special:BookSources/978-0-672-33370-5"><bdi>978-0-672-33370-5</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=Code+Reading%3A+The+Open+Source+Perspective&rft.pages=%3Cspan+class%3D%22nowrap%22%3E43-%3C%2Fspan%3E44&rft.pub=Addison-Wesley+Professional&rft.date=2003-05-27&rft.isbn=978-0-672-33370-5&rft.aulast=Spinellis&rft.aufirst=Diomidis&rft_id=https%3A%2F%2Fbooks.google.com%2Fbooks%3Fid%3D8lYbNfsAVT4C%26pg%3DPA43&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFStack_Overflow_Questions2012" class="citation web cs1">Stack Overflow Questions (2012-06-11). <a rel="nofollow" class="external text" href="https://stackoverflow.com/questions/10975722/why-continue-is-considered-as-a-c-violation-in-misra-c2004">"Why "continue" is considered as a C violation in MISRA C:2004?"</a>. Stack Overflow<span class="reference-accessdate">. Retrieved <span class="nowrap">2021-11-10</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Why+%22continue%22+is+considered+as+a+C+violation+in+MISRA+C%3A2004%3F&rft.pub=Stack+Overflow&rft.date=2012-06-11&rft.au=Stack+Overflow+Questions&rft_id=https%3A%2F%2Fstackoverflow.com%2Fquestions%2F10975722%2Fwhy-continue-is-considered-as-a-c-violation-in-misra-c2004&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFSteele1977" class="citation book cs1"><a href="/wiki/Guy_L._Steele,_Jr." class="mw-redirect" title="Guy L. Steele, Jr.">Steele, Guy Lewis</a> (January 1977). "Debunking the "expensive procedure call" myth or, procedure call implementations considered harmful or, LAMBDA". <i>Proceedings of the 1977 annual conference on - ACM '77</i>. pp. <span class="nowrap">153–</span>162. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F800179.810196">10.1145/800179.810196</a></span>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/9781450323086" title="Special:BookSources/9781450323086"><bdi>9781450323086</bdi></a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:9807843">9807843</a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=bookitem&rft.atitle=Debunking+the+%22expensive+procedure+call%22+myth+or%2C+procedure+call+implementations+considered+harmful+or%2C+LAMBDA&rft.btitle=Proceedings+of+the+1977+annual+conference+on+-+ACM+%2777&rft.pages=%3Cspan+class%3D%22nowrap%22%3E153-%3C%2Fspan%3E162&rft.date=1977-01&rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A9807843%23id-name%3DS2CID&rft_id=info%3Adoi%2F10.1145%2F800179.810196&rft.isbn=9781450323086&rft.aulast=Steele&rft.aufirst=Guy+Lewis&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFStroustrup2012" class="citation web cs1"><a href="/wiki/Bjarne_Stroustrup" title="Bjarne Stroustrup">Stroustrup, Bjarne</a> (2012-01-09). <a rel="nofollow" class="external text" href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Keynote-Bjarne-Stroustrup-Cpp11-Style">"Day 1 Keynote - Bjarne Stroustrup: C++11 Style | GoingNative 2012 | Channel 9"</a>. Channel9.msdn.com<span class="reference-accessdate">. Retrieved <span class="nowrap">2021-11-10</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Day+1+Keynote+-+Bjarne+Stroustrup%3A+C%2B%2B11+Style+%26%23124%3B+GoingNative+2012+%26%23124%3B+Channel+9&rft.pub=Channel9.msdn.com&rft.date=2012-01-09&rft.aulast=Stroustrup&rft.aufirst=Bjarne&rft_id=http%3A%2F%2Fchannel9.msdn.com%2FEvents%2FGoingNative%2FGoingNative-2012%2FKeynote-Bjarne-Stroustrup-Cpp11-Style&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFSummit1995" class="citation web cs1">Summit, Steve (1995). <a rel="nofollow" class="external text" href="http://c-faq.com/style/stylewars.html">"comp.lang.c FAQ list · Question 17.10"</a>. C-faq.com<span class="reference-accessdate">. Retrieved <span class="nowrap">2021-11-10</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=comp.lang.c+FAQ+list+%C2%B7+Question+17.10&rft.pub=C-faq.com&rft.date=1995&rft.aulast=Summit&rft.aufirst=Steve&rft_id=http%3A%2F%2Fc-faq.com%2Fstyle%2Fstylewars.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFThe_Go_Programming_Language_Specification2021" class="citation web cs1">The Go Programming Language Specification (26 July 2021). <a rel="nofollow" class="external text" href="https://golang.org/ref/spec#Fallthrough_statements">"The Go Programming Language Specification - the Go Programming Language"</a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=The+Go+Programming+Language+Specification+-+the+Go+Programming+Language&rft.date=2021-07-26&rft.au=The+Go+Programming+Language+Specification&rft_id=https%3A%2F%2Fgolang.org%2Fref%2Fspec%23Fallthrough_statements&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFTorvalds2016" class="citation web cs1"><a href="/wiki/Linus_Torvalds" title="Linus Torvalds">Torvalds, Linus</a> (2016). <a rel="nofollow" class="external text" href="https://www.kernel.org/doc/html/v4.10/process/coding-style.html#centralized-exiting-of-functions">"Linux Kernel Coding Style"</a>. The Linux Kernel’s documentation<span class="reference-accessdate">. Retrieved <span class="nowrap">2021-11-10</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Linux+Kernel+Coding+Style&rft.pub=The+Linux+Kernel%E2%80%99s+documentation&rft.date=2016&rft.aulast=Torvalds&rft.aufirst=Linus&rft_id=https%3A%2F%2Fwww.kernel.org%2Fdoc%2Fhtml%2Fv4.10%2Fprocess%2Fcoding-style.html%23centralized-exiting-of-functions&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFVan_Tassel2004" class="citation web cs1">Van Tassel, Dennie (July 8, 2004). <a rel="nofollow" class="external text" href="http://www.gavilan.edu/csis/languages/labels.html#_Toc76036283">"History of Labels in Programming Languages"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">4 January</span> 2011</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=History+of+Labels+in+Programming+Languages&rft.date=2004-07-08&rft.aulast=Van+Tassel&rft.aufirst=Dennie&rft_id=http%3A%2F%2Fwww.gavilan.edu%2Fcsis%2Flanguages%2Flabels.html%23_Toc76036283&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFVine2007" class="citation book cs1">Vine, Michael A. (2007). <i>C Programming for the Absolute Beginner</i>. Cengage Learning. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/978-1-59863-634-5" title="Special:BookSources/978-1-59863-634-5"><bdi>978-1-59863-634-5</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=C+Programming+for+the+Absolute+Beginner&rft.pub=Cengage+Learning&rft.date=2007&rft.isbn=978-1-59863-634-5&rft.aulast=Vine&rft.aufirst=Michael+A.&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFWagner2021" class="citation web cs1">Wagner, Bill (2021). <a rel="nofollow" class="external text" href="https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/goto">"goto statement - C# Reference"</a>. <i>docs.microsoft.com</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2021-11-09</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=docs.microsoft.com&rft.atitle=goto+statement+-+C%23+Reference&rft.date=2021&rft.aulast=Wagner&rft.aufirst=Bill&rft_id=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fdotnet%2Fcsharp%2Flanguage-reference%2Fkeywords%2Fgoto&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFWattFindlay2004" class="citation book cs1">Watt, David Anthony; Findlay, William (2004). <span class="id-lock-limited" title="Free access subject to limited trial, subscription normally required"><a rel="nofollow" class="external text" href="https://archive.org/details/programminglangu00watt_497"><i>Programming language design concepts</i></a></span>. John Wiley & Sons. p. <a rel="nofollow" class="external text" href="https://archive.org/details/programminglangu00watt_497/page/n246">228</a>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/978-0-470-85320-7" title="Special:BookSources/978-0-470-85320-7"><bdi>978-0-470-85320-7</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=Programming+language+design+concepts&rft.pages=228&rft.pub=John+Wiley+%26+Sons&rft.date=2004&rft.isbn=978-0-470-85320-7&rft.aulast=Watt&rft.aufirst=David+Anthony&rft.au=Findlay%2C+William&rft_id=https%3A%2F%2Farchive.org%2Fdetails%2Fprogramminglangu00watt_497&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFWehr1997" class="citation web cs1">Wehr, Jason (1997). <a rel="nofollow" class="external text" href="http://www.personal.psu.edu/jhm/f90/statements/goto_a.html">"Go to ( assigned )"</a>. <i>www.personal.psu.edu/jhm/f90/201.html</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2021-11-13</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=www.personal.psu.edu%2Fjhm%2Ff90%2F201.html&rft.atitle=Go+to+%28+assigned+%29&rft.date=1997&rft.aulast=Wehr&rft.aufirst=Jason&rft_id=http%3A%2F%2Fwww.personal.psu.edu%2Fjhm%2Ff90%2Fstatements%2Fgoto_a.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFWilkesWheelerGill1951" class="citation book cs1"><a href="/wiki/Maurice_Wilkes" title="Maurice Wilkes">Wilkes, Maurice V.</a>; <a href="/wiki/David_Wheeler_(computer_scientist)" title="David Wheeler (computer scientist)">Wheeler, David J.</a>; <a href="/wiki/Stanley_Gill" title="Stanley Gill">Gill, Stanley</a> (1951). <i><a href="/wiki/The_Preparation_of_Programs_for_an_Electronic_Digital_Computer" title="The Preparation of Programs for an Electronic Digital Computer">The Preparation of Programs for an Electronic Digital Computer</a></i>. <a href="/wiki/Addison-Wesley" title="Addison-Wesley">Addison-Wesley</a>. <q>(sometimes called <b>WWG</b>, after its authors' initials) was the first book on computer programming</q></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=book&rft.btitle=The+Preparation+of+Programs+for+an+Electronic+Digital+Computer&rft.pub=Addison-Wesley&rft.date=1951&rft.aulast=Wilkes&rft.aufirst=Maurice+V.&rft.au=Wheeler%2C+David+J.&rft.au=Gill%2C+Stanley&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFWilliams2013" class="citation journal cs1">Williams, Tom (March 2013). <a rel="nofollow" class="external text" href="https://issuu.com/rtcgroup/docs/rtc1303">"Checking Rules for C: Assuring Reliability and Safety"</a>. <i>RTC Magazine</i>. <b>22</b> (3): <span class="nowrap">12–</span>15<span class="reference-accessdate">. Retrieved <span class="nowrap">2021-11-10</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=RTC+Magazine&rft.atitle=Checking+Rules+for+C%3A+Assuring+Reliability+and+Safety&rft.volume=22&rft.issue=3&rft.pages=%3Cspan+class%3D%22nowrap%22%3E12-%3C%2Fspan%3E15&rft.date=2013-03&rft.aulast=Williams&rft.aufirst=Tom&rft_id=https%3A%2F%2Fissuu.com%2Frtcgroup%2Fdocs%2Frtc1303&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span></li></ul> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFz/OS_2.5.0_in_IBM_Documentation2021" class="citation web cs1">z/OS 2.5.0 in IBM Documentation (2021). <a rel="nofollow" class="external text" href="https://www.ibm.com/docs/en/zos/2.5.0?topic=js-goto-statement#gsals__computed_goto">"Computed goto statement (IBM extension)"</a>. IBM<span class="reference-accessdate">. Retrieved <span class="nowrap">2021-11-13</span></span>. <q>This document describes the syntax, semantics, and IBM z/OS XL C/C++ implementation of the C and C++ programming languages. For a general-purpose C or C++ standard reference, see cppreference.com.</q></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Computed+goto+statement+%28IBM+extension%29&rft.pub=IBM&rft.date=2021&rft.au=z%2FOS+2.5.0+in+IBM+Documentation&rft_id=https%3A%2F%2Fwww.ibm.com%2Fdocs%2Fen%2Fzos%2F2.5.0%3Ftopic%3Djs-goto-statement%23gsals__computed_goto&rfr_id=info%3Asid%2Fen.wikipedia.org%3AGoto" class="Z3988"></span><span class="cs1-maint citation-comment"><code class="cs1-code">{{<a href="/wiki/Template:Cite_web" title="Template:Cite web">cite web</a>}}</code>: CS1 maint: numeric names: authors list (<a href="/wiki/Category:CS1_maint:_numeric_names:_authors_list" title="Category:CS1 maint: numeric names: authors list">link</a>)</span></li></ul> </div> <!-- NewPP limit report Parsed by mw‐web.codfw.canary‐56486f98c9‐82jfh Cached time: 20250331045356 Cache expiry: 2592000 Reduced expiry: false Complications: [vary‐revision‐sha1, show‐toc] CPU time usage: 0.897 seconds Real time usage: 1.116 seconds Preprocessor visited node count: 7563/1000000 Post‐expand include size: 128569/2097152 bytes Template argument size: 7718/2097152 bytes Highest expansion depth: 12/100 Expensive parser function count: 11/500 Unstrip recursion depth: 1/20 Unstrip post‐expand size: 177570/5000000 bytes Lua time usage: 0.597/10.000 seconds Lua memory usage: 7793169/52428800 bytes Number of Wikibase entities loaded: 0/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 985.842 1 -total 20.17% 198.821 72 Template:Sfn 18.35% 180.907 20 Template:Cite_book 15.96% 157.348 29 Template:Cite_web 13.18% 129.943 1 Template:Reflist 9.18% 90.475 2 Template:Cite_EWD 7.47% 73.667 1 Template:Short_description 5.73% 56.533 8 Template:Cite_journal 4.21% 41.471 2 Template:Pagetype 4.03% 39.766 1 Template:Fact --> <!-- Saved in parser cache with key enwiki:pcache:23307350:|#|:idhash:canonical and timestamp 20250331045356 and revision id 1267522028. Rendering was triggered because: page-view --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://auth.wikimedia.org/loginwiki/wiki/Special:CentralAutoLogin/start?useformat=desktop&type=1x1&usesul3=1" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://en.wikipedia.org/w/index.php?title=Goto&oldid=1267522028">https://en.wikipedia.org/w/index.php?title=Goto&oldid=1267522028</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Help:Category" title="Help:Category">Categories</a>: <ul><li><a href="/wiki/Category:BASIC_commands" title="Category:BASIC commands">BASIC commands</a></li><li><a href="/wiki/Category:Control_flow" title="Category:Control flow">Control flow</a></li><li><a href="/wiki/Category:Edsger_W._Dijkstra" title="Category:Edsger W. Dijkstra">Edsger W. Dijkstra</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Hidden categories: <ul><li><a href="/wiki/Category:Articles_with_short_description" title="Category:Articles with short description">Articles with short description</a></li><li><a href="/wiki/Category:Short_description_is_different_from_Wikidata" title="Category:Short description is different from Wikidata">Short description is different from Wikidata</a></li><li><a href="/wiki/Category:All_articles_with_unsourced_statements" title="Category:All articles with unsourced statements">All articles with unsourced statements</a></li><li><a href="/wiki/Category:Articles_with_unsourced_statements_from_November_2019" title="Category:Articles with unsourced statements from November 2019">Articles with unsourced statements from November 2019</a></li><li><a href="/wiki/Category:CS1_maint:_numeric_names:_authors_list" title="Category:CS1 maint: numeric names: authors list">CS1 maint: numeric names: authors list</a></li><li><a href="/wiki/Category:CS1:_unfit_URL" title="Category:CS1: unfit URL">CS1: unfit URL</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> This page was last edited on 5 January 2025, at 13:57<span class="anonymous-show"> (UTC)</span>.</li> <li id="footer-info-copyright">Text is available under the <a href="/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-ShareAlike_4.0_International_License" title="Wikipedia:Text of the Creative Commons Attribution-ShareAlike 4.0 International License">Creative Commons Attribution-ShareAlike 4.0 License</a>; additional terms may apply. By using this site, you agree to the <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use" class="extiw" title="foundation:Special:MyLanguage/Policy:Terms of Use">Terms of Use</a> and <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy" class="extiw" title="foundation:Special:MyLanguage/Policy:Privacy policy">Privacy Policy</a>. Wikipedia® is a registered trademark of the <a rel="nofollow" class="external text" href="https://wikimediafoundation.org/">Wikimedia Foundation, Inc.</a>, a non-profit organization.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia:About">About Wikipedia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:General_disclaimer">Disclaimers</a></li> <li id="footer-places-contact"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us">Contact Wikipedia</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Developers</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/en.wikipedia.org">Statistics</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie statement</a></li> <li id="footer-places-mobileview"><a href="//en.m.wikipedia.org/w/index.php?title=Goto&mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://www.wikimedia.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><picture><source media="(min-width: 500px)" srcset="/static/images/footer/wikimedia-button.svg" width="84" height="29"><img src="/static/images/footer/wikimedia.svg" width="25" height="25" alt="Wikimedia Foundation" lang="en" loading="lazy"></picture></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><picture><source media="(min-width: 500px)" srcset="/w/resources/assets/poweredby_mediawiki.svg" width="88" height="31"><img src="/w/resources/assets/mediawiki_compact.svg" alt="Powered by MediaWiki" lang="en" width="25" height="25" loading="lazy"></picture></a></li> </ul> </footer> </div> </div> </div> <div class="vector-header-container vector-sticky-header-container"> <div id="vector-sticky-header" class="vector-sticky-header"> <div class="vector-sticky-header-start"> <div class="vector-sticky-header-icon-start vector-button-flush-left vector-button-flush-right" aria-hidden="true"> <button class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-sticky-header-search-toggle" tabindex="-1" data-event-name="ui.vector-sticky-search-form.icon"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </button> </div> <div role="search" class="vector-search-box-vue vector-search-box-show-thumbnail vector-search-box"> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail"> <form action="/w/index.php" id="vector-sticky-search-form" class="cdx-search-input cdx-search-input--has-end-button"> <div class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia"> <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <div class="vector-sticky-header-context-bar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-sticky-header-toc" class="vector-dropdown mw-portlet mw-portlet-sticky-header-toc vector-sticky-header-toc vector-button-flush-left" > <input type="checkbox" id="vector-sticky-header-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-sticky-header-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-sticky-header-toc-label" for="vector-sticky-header-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-sticky-header-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div class="vector-sticky-header-context-bar-primary" aria-hidden="true" ><span class="mw-page-title-main">Goto</span></div> </div> </div> <div class="vector-sticky-header-end" aria-hidden="true"> <div class="vector-sticky-header-icons"> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-talk-sticky-header" tabindex="-1" data-event-name="talk-sticky-header"><span class="vector-icon mw-ui-icon-speechBubbles mw-ui-icon-wikimedia-speechBubbles"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-subject-sticky-header" tabindex="-1" data-event-name="subject-sticky-header"><span class="vector-icon mw-ui-icon-article mw-ui-icon-wikimedia-article"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-history-sticky-header" tabindex="-1" data-event-name="history-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-history mw-ui-icon-wikimedia-wikimedia-history"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only mw-watchlink" id="ca-watchstar-sticky-header" tabindex="-1" data-event-name="watch-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-star mw-ui-icon-wikimedia-wikimedia-star"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-edit-sticky-header" tabindex="-1" data-event-name="wikitext-edit-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-wikiText mw-ui-icon-wikimedia-wikimedia-wikiText"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-ve-edit-sticky-header" tabindex="-1" data-event-name="ve-edit-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-edit mw-ui-icon-wikimedia-wikimedia-edit"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-viewsource-sticky-header" tabindex="-1" data-event-name="ve-edit-protected-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-editLock mw-ui-icon-wikimedia-wikimedia-editLock"></span> <span></span> </a> </div> <div class="vector-sticky-header-buttons"> <button class="cdx-button cdx-button--weight-quiet mw-interlanguage-selector" id="p-lang-btn-sticky-header" tabindex="-1" data-event-name="ui.dropdown-p-lang-btn-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-language mw-ui-icon-wikimedia-wikimedia-language"></span> <span>25 languages</span> </button> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive" id="ca-addsection-sticky-header" tabindex="-1" data-event-name="addsection-sticky-header"><span class="vector-icon mw-ui-icon-speechBubbleAdd-progressive mw-ui-icon-wikimedia-speechBubbleAdd-progressive"></span> <span>Add topic</span> </a> </div> <div class="vector-sticky-header-icon-end"> <div class="vector-user-links"> </div> </div> </div> </div> </div> <div class="mw-portlet mw-portlet-dock-bottom emptyPortlet" id="p-dock-bottom"> <ul> </ul> </div> <script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.main-5f6c89f4bf-nph2s","wgBackendResponseTime":169,"wgPageParseReport":{"limitreport":{"cputime":"0.897","walltime":"1.116","ppvisitednodes":{"value":7563,"limit":1000000},"postexpandincludesize":{"value":128569,"limit":2097152},"templateargumentsize":{"value":7718,"limit":2097152},"expansiondepth":{"value":12,"limit":100},"expensivefunctioncount":{"value":11,"limit":500},"unstrip-depth":{"value":1,"limit":20},"unstrip-size":{"value":177570,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 985.842 1 -total"," 20.17% 198.821 72 Template:Sfn"," 18.35% 180.907 20 Template:Cite_book"," 15.96% 157.348 29 Template:Cite_web"," 13.18% 129.943 1 Template:Reflist"," 9.18% 90.475 2 Template:Cite_EWD"," 7.47% 73.667 1 Template:Short_description"," 5.73% 56.533 8 Template:Cite_journal"," 4.21% 41.471 2 Template:Pagetype"," 4.03% 39.766 1 Template:Fact"]},"scribunto":{"limitreport-timeusage":{"value":"0.597","limit":"10.000"},"limitreport-memusage":{"value":7793169,"limit":52428800},"limitreport-logs":"anchor_id_list = table#1 {\n [\"CITEREFAllain2019\"] = 1,\n [\"CITEREFAndrews2003\"] = 1,\n [\"CITEREFBarnes2006\"] = 1,\n [\"CITEREFBrender2002\"] = 1,\n [\"CITEREFChisnall2012\"] = 1,\n [\"CITEREFContieri2021\"] = 1,\n [\"CITEREFCozens2004\"] = 1,\n [\"CITEREFDijkstra1968\"] = 1,\n [\"CITEREFFronczakLubbers1974\"] = 1,\n [\"CITEREFGCC,_the_GNU_Compiler_Collection2021\"] = 1,\n [\"CITEREFGNU_Pascal_development_team2005\"] = 1,\n [\"CITEREFGOTO_for_Java2009\"] = 1,\n [\"CITEREFGaller1962\"] = 1,\n [\"CITEREFGeisler2011\"] = 1,\n [\"CITEREFGoslingJoySteeleBracha2005\"] = 1,\n [\"CITEREFGoslingMcGilton1996\"] = 1,\n [\"CITEREFHindle2004\"] = 1,\n [\"CITEREFHoad2022\"] = 1,\n [\"CITEREFJava_Tutorial2012\"] = 1,\n [\"CITEREFKelseyClingerRees1998\"] = 1,\n [\"CITEREFKernighanRitchie1988\"] = 1,\n [\"CITEREFKnuth1974\"] = 1,\n [\"CITEREFKozenTseng2008\"] = 1,\n [\"CITEREFLahey_Computer_Systems,_Inc2004\"] = 1,\n [\"CITEREFLoudenLambert2012\"] = 1,\n [\"CITEREFManual_for_the_Seed7_programming_language2021\"] = 1,\n [\"CITEREFMcConnell2004\"] = 1,\n [\"CITEREFMeyer2009\"] = 1,\n [\"CITEREFMicrosoft2021\"] = 1,\n [\"CITEREFNoackBlankGraingerspacewander2015\"] = 1,\n [\"CITEREFPHP_Manual2021\"] = 1,\n [\"CITEREFPerl_syntax_manual2021\"] = 1,\n [\"CITEREFPitchfordTapp2013\"] = 1,\n [\"CITEREFPrata2013\"] = 1,\n [\"CITEREFRamshaw1988\"] = 1,\n [\"CITEREFRegehr2013\"] = 1,\n [\"CITEREFRoberts1995\"] = 1,\n [\"CITEREFRubin1987\"] = 1,\n [\"CITEREFSahniCmelik1995\"] = 1,\n [\"CITEREFSexton2012\"] = 1,\n [\"CITEREFSiedersleben2006\"] = 1,\n [\"CITEREFSpinellis2003\"] = 1,\n [\"CITEREFStack_Overflow_Questions2012\"] = 1,\n [\"CITEREFSteele1977\"] = 1,\n [\"CITEREFStroustrup2012\"] = 1,\n [\"CITEREFSummit1995\"] = 1,\n [\"CITEREFThe_Go_Programming_Language_Specification2021\"] = 1,\n [\"CITEREFTorvalds2016\"] = 1,\n [\"CITEREFVan_Tassel2004\"] = 1,\n [\"CITEREFVine2007\"] = 1,\n [\"CITEREFWagner2021\"] = 1,\n [\"CITEREFWattFindlay2004\"] = 1,\n [\"CITEREFWehr1997\"] = 1,\n [\"CITEREFWilkesWheelerGill1951\"] = 1,\n [\"CITEREFWilliams2013\"] = 1,\n [\"CITEREFz/OS_2.5.0_in_IBM_Documentation2021\"] = 1,\n}\ntemplate_list = table#1 {\n [\"\\\"'\"] = 1,\n [\"About\"] = 1,\n [\"Cite EWD\"] = 2,\n [\"Cite book\"] = 18,\n [\"Cite conference\"] = 1,\n [\"Cite journal\"] = 8,\n [\"Cite report\"] = 1,\n [\"Cite web\"] = 29,\n [\"Fact\"] = 1,\n [\"Further\"] = 1,\n [\"Harvtxt\"] = 1,\n [\"Main article\"] = 4,\n [\"Quotation\"] = 1,\n [\"Refbegin\"] = 1,\n [\"Refend\"] = 1,\n [\"Reflist\"] = 1,\n [\"See also\"] = 1,\n [\"Sfn\"] = 72,\n [\"Short description\"] = 1,\n [\"Visible anchor\"] = 2,\n}\narticle_whitelist = table#1 {\n}\nciteref_patterns = table#1 {\n}\n"},"cachereport":{"origin":"mw-web.codfw.canary-56486f98c9-82jfh","timestamp":"20250331045356","ttl":2592000,"transientcontent":false}}});});</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Article","name":"Goto","url":"https:\/\/en.wikipedia.org\/wiki\/Goto","sameAs":"http:\/\/www.wikidata.org\/entity\/Q750997","mainEntity":"http:\/\/www.wikidata.org\/entity\/Q750997","author":{"@type":"Organization","name":"Contributors to Wikimedia projects"},"publisher":{"@type":"Organization","name":"Wikimedia Foundation, Inc.","logo":{"@type":"ImageObject","url":"https:\/\/www.wikimedia.org\/static\/images\/wmf-hor-googpub.png"}},"datePublished":"2001-10-31T19:27:00Z","dateModified":"2025-01-05T13:57:29Z","image":"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/c\/cc\/GOTOkey%28ZXSpectrum%29.jpg","headline":"statement invoking one-way transfer of program control in many languages"}</script> </body> </html>