<p class="Paragraph">V proceduře nebo funkci volá podprogram, který je označen návěštím. Příkazy za návěštím budou provedeny až po následující příkaz Return. Potom bude program pokračovat příkazem, který následuje za příkazem GoSub<text:s text:c="" xmlns:text="http://openoffice.org/2000/text"/>.</p>
<p class="Paragraph">Příkaz GoSub se používá k volání místního podprogramu, který je označen návěštím označujícím první řádek podprogramu, z procedury nebo z funkce. Název návěští musí být ukončen dvojtečkou (:). Po dosažení příkazu GoSub pokračuje program příkazem, který následuje za návěštím. Budou provedeny následující příkazy a funkce až do následujícího příkazu Return. Program potom přejde zpět k příkazu GoSub a pokračuje příkazem, který následuje za příkazem GoSub.</p>
<p class="TextInTable">Pokud program narazí na příkaz Return, před kterým není příkaz GoSub, aplikace <help:productname xmlns:help="http://openoffice.org/2000/help">%PRODUCTNAME</help:productname> Basic zobrazí chybovou zprávu. Pomocí příkazů <text:s text:c="" xmlns:text="http://openoffice.org/2000/text"/>Exit Sub nebo Exit Function lze zajistit, aby program opustil proceduru nebo funkci před dosažením následujícího příkazu Return.</p>
<p class="TextInTable">Příkazy GoSub a Return jsou pozůstatky starých dialektů jazyka BASIC a jsou zachovány pouze z důvodu kompatibility. Pokud často používáte příkazy GoSub a Return, budou programy špatně čitelné. Doporučuje se používat spíše příkazy Sub a Function.</p>
</span></th></tr></table>
<p class="Paragraph"/>
<p class="Paragraph">Následující příklad ukazuje použití příkazů GoSub a Return. Dvojitým provedením úseku programu je vypočtena druhá mocnina dvou čísel, která zadal uživatel.</p>
<p class="P2">Příklad:</p>
<p class="PropText">Sub ExampleGoSub</p>
<p class="PropText">dim iInputa as Single</p>
<p class="PropText">dim iInputb as Single</p>
<p class="PropText">dim iInputc as Single</p>
<p class="PropText">iInputa = Int(InputBox$ "Enter the first number: ","NumberInput"))</p>
<p class="PropText">iInputb = Int(InputBox$ "Enter the second number: ","NumberInput"))</p>
<p class="PropText">iInputc=iInputa</p>
<p class="PropText">GoSub SquareRoot</p>
<p class="PropText">Print "The square root of";iInputa;" is";iInputc</p>
<p class="PropText">iInputc=iInputb</p>
<p class="PropText">GoSub SquareRoot</p>
<p class="PropText">Print "The square root of";iInputb;" is";iInputc</p>