Contenido
Índice 🔎︎

# Instrucción GoSub… Return

Llama a una subrutina indicada por una etiqueta desde una subrutina o una función. La instrucción que sigue a la etiqueta se ejecuta mientras no se encuentre una instrucción Return. Después el programa continúa con la instrucción que sigue a GoSub .

## Sintaxis:

    Consulte los parámetros

## Parámetros:

Sub/Function

bloque de instrucciones

Etiqueta

bloque de instrucciones

Etiqueta GoSub

Exit Sub/Function

Etiqueta:

bloque de instrucciones

Return

Final de Sub/Function

La instrucción GoSub llama a una subrutina local indicada por una etiqueta desde dentro de una subrutina o función. El nombre de la etiqueta debe terminar con un carácter de dos puntos (":").

Si el programa encuentra una instrucción Return que no va precedida de GoSub, LibreOffice Basic devuelve un mensaje de error. Use Exit Sub o Exit Function para asegurarse de que el programa salga de una Sub o Function antes de llegar a la siguiente instrucción Return.

El ejemplo siguiente demuestra el uso de GoSub y Return. Al ejecutar una sección de programa dos veces, éste calcula la raíz cuadrada de dos números que ha introducido el usuario.

## Ejemplo:

    Sub ExampleGoSub
    Dim iInputa As Single
    Dim iInputb As Single
    Dim iInputc As Single
        iInputa = Int(InputBox("Escriba el primer número: ","Entrada de número"))
        iInputb = Int(InputBox("Escriba el segundo número: ","Entrada de número"))
        iInputc=iInputa
        GoSub SquareRoot
        Print "La raíz cuadrada de";iInputa;" es";iInputc
        iInputc=iInputb
        GoSub SquareRoot
        Print "La raíz cuadrada de";iInputb;" es";iInputc
        Exit Sub
    SquareRoot:
        iInputc=sqr(iInputc)
        Return
    End Sub