Module
Contents
Index 🔎︎

# GoSub...Return Statement

呼叫由子常式或函式中的貼標所指示的子常式。貼標後的陳述式被執行，直至遇到下一個 Return 陳述式。隨後，程式會繼續執行 GoSub 陳述式之後的陳述式。

## 語法：

    請參閱參數

## 參數：

Sub/Function

陳述式區塊

貼標

陳述式區塊

GoSub Label

Exit Sub/Function

Label:

陳述式區塊

Return

End Sub/Function

GoSub 陳述式呼叫由子常式或函式中的貼標所指示的局部子常式。貼標的名稱必須以分號 (「:」) 結尾。

當 LibreOffice Basic 發現 Return 陳述式前面沒有 GoSub 陳述式時，將傳回錯誤訊息。使用 Exit Sub 或 Exit Function 以確保程式在執行到下一個 Return 陳述式之前結束子常式或函式。

以下示例用於說明 GoSub 和 Return 的用法。透過將程式段執行兩遍，計算由使用者輸入的兩個數的平方根。

## 示例：

    Sub ExampleGoSub

    Dim iInputa As Single

    Dim iInputb As Single

    Dim iInputc As Single

        iInputa = Int(InputBox("Enter the first number:","NumberInput"))

        iInputb = Int(InputBox("Enter the second number:","NumberInput"))

        iInputc=iInputa

        GoSub SquareRoot

        Print "The square root of";iInputa;" is";iInputc

        iInputc=iInputb

        GoSub SquareRoot

        Print "The square root of";iInputb;" is";iInputc

        Exit Sub

    SquareRoot:

        iInputc=sqr(iInputc)

        Return

    End Sub