GoSub...Return

GoSub用於將程式控制轉移到副程式。結束執行副程式後,控制便返回到GoSub命令的下一行。

格式
GoSub {標籤}​

{標籤::}​ 陳述式
Return

參數

標籤
以標籤指定轉移目的地。用於將程式執行轉移到有該標籤的行。請指定32個字元以內的標籤名稱。第一個字元不可使用數字。請務必使用字母字元。

說明
GoSub命令用於將程式控制轉移到指定標籤。程式用於執行轉移目的地的陳述式,並執行轉移目的地的行,直到發出Return命令。用GoSub命令執行副程式之後,用Return返回到GoSub命令的下一行。請務必用Return結束副程式。

常見錯誤

  • 轉移到不存在的陳述式

    若將不存在GoSub命令的標籤指定為轉移目的地,則發生錯誤3108。

  • 沒有GoSub卻使用Return時

    Return命令用於復歸到執行GoSub命令的原程式。若沒有GoSub卻使用Return,則發生錯誤2383。在沒有GoSub的情況下即便使用Return也不知道該復歸到何處,因此沒有任何意義。

參照
GoTo、OnErr、Return

GoSub範例
以下範例表示,使用GoSub命令移到指定標籤,並執行數個I/O命令,然後進行復歸的情形。

Function main
    Integer var1, var2

    GoSub checkio  '使用標籤執行GoSub
    On 1
    On 2
    Exit Function

checkio:           '副程式的開始位置
    var1 = In(0)
    var2 = In(1)
    If var1 = 1 And var2 = 1 Then
        On 1
    Else
        Off 1
    EndIf
    Return         '副程式的結束位置
Fend