Module
Contents
Index 🔎︎

# GoSub...Return Statement

Вызывает подпрограмму, указанную меткой, из подпрограммы или функции. Инструкция, которая идёт за меткой, выполняется до следующей инструкции 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