Модул
Съдържание
Индекс 🔎︎

# Оператор GoSub...Return

Извиква подпрограма, зададена с етикет на процедура или функция. Операторите, следващи етикета, се изпълняват до следващия оператор Return. След това изпълнението продължава с оператора, следващ GoSub.

## Синтаксис:

    виж Параметри

## Параметри:

Sub/Function

операторен блок

Надпис

операторен блок

GoSub Етикет

Exit Sub/Function

Етикет:

операторен блок

Return

End Sub/Function

Операторът GoSub извиква локална подпрограма, зададена с етикет в рамките на процедура или функция. Името на етикета трябва да завършва с двоеточие (":").

Ако изпълнението стигне до оператор Return, който не е предшестван от GoSub, LibreOffice Basic показва съобщение за грешка. Използвайте Exit Sub или Exit Function, за да гарантирате, че изпълнението ще напусне процедурата или функцията преди следващия оператор Return.

Следващият пример илюстрира употребата на GoSub и Return. Чрез двукратно изпълняване на част от кода програмата изчислява квадратния корен на две числа, въведени от потребителя.

## Пример:

    Sub ExampleGoSub

    Dim iInputa As Single

    Dim iInputb As Single

    Dim iInputc As Single

        iInputa = Int(InputBox("Въведете първото число: ", "Въвеждане"))

        iInputb = Int(InputBox("Въведете второто число: ", "Въвеждане"))

        iInputc=iInputa

        GoSub SquareRoot

        Print "Квадратният корен на"; iInputa; " е "; iInputc

        iInputc=iInputb

        GoSub SquareRoot

        Print "Квадратният корен на "; iInputb; " е "; iInputc

        Exit Sub

    SquareRoot:

        iInputc=sqr(iInputc)

        Return

    End Sub