GoSub...Return Statement

Calls a subroutine that is indicated by a label inside a Sub or a Function. The statements following the label are executed until the next Return statement. Afterwards, the program continues with the statement that follows the GoSub statement.

Syntax:


GoSub label[:]

Parameters:

label: A line identifier indicating where to continue execution. The scope of a label in that of the routine it belongs to.

The GoSub statement calls a local subroutine indicated by a label from within a subroutine or a function. The name of the label must end with a colon (":").


  Sub/Function foo
      ' statements
      GoSub label
      ' statements
      Exit Sub/Function
  label:
      ' statements
      Return
  End Sub/Function
рдЪреЗрддрд╛рд╡рдиреА рдкреНрд░рддрд┐рдорд╛

рдпрджрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдорд▓реЗ GoSubрджреНрд╡рд╛рд░рд╛ рдЕрдЧреНрд░рд╕рд░рддрд╛ рдирджреЗрдЦрд╛рдИ рдлрд░реНрдХрд╛рдЗрдПрдХреЛ рдХрдердирдорд╛ рд╕рд╛рдордирд╛ рдЧрд░реЗрдорд╛ рдЖрдзрд╛рд░рднреВрдд LibreOffice рд▓реЗ рддреНрд░реБрдЯрд┐ рд╕рдиреНрджреЗрд╢ рдлрд░реНрдХрд╛рдЙрдБрдЫ ред рдирд┐рд╕реНрдХрдиреБрд╣реЛрд╕реН рд╕рдм рд╡рд╛ рдирд┐рд╕реНрдХрдиреБрд╣реЛрд╕реН рдкреНрд░рдХрд╛рд░реНрдп рдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рд╣реБрдиреНрдЫ рддреНрдпрд╕рд▓реЗ рдЕрд░реНрдХреЛ рдХрдерди рдлрд░реНрдХрд┐рдПрд░ рдлреИрд▓рдиреБ рднрдиреНрджрд╛ рдЕрдЧрд╛рдбрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдорд▓реЗ рд╕рдм рд╡рд╛ рдкреНрд░рдХрд╛рд░реНрдпрд▓рд╛рдИ рдЫрд╛рдбреНрдЫ редред


рджрд┐рдПрдХрд╛ рдЙрджрд╛рд╣рд░рдгрд▓реЗ GoSub рд░ рдлрд░реНрдХрд╛рдЙрдБрдЫрдХреЛ рд╡рд░реНрдгрди рдЧрд░реНрджрдЫрдиреН ред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реБрджреИрдЧрд░реЗрдХрд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕реЗрдХреНрд╕рди рджреБрдЧреБрдирд╛ рдЧрд░реНрдирд▓рд╛рдИ рдХрд╛рд░реНрдпрдХреНрд░рдорд▓реЗ рджреБрдИрдЯрд╛ рдирдореНрдмрд░рд╣рд░реВрдХреЛ рдмрд░реНрдЧрдореВрд▓ рдЧрдгрдирд╛ рдЧрд░реНрджрдЫ рдЬрд╕рд▓рд╛рдИ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдЧрд░рд┐рдиреНрдЫ ред

Example:


Sub ExampleGoSub
Dim iInputa As Single
Dim iInputb As Single
Dim iInputc As Single
    iInputa = Int(рдЖрдЧрдд рдмрд╛рдХрд╕$ "рдкрд╣рд┐рд▓реЛ рдирдореНрдмрд░ рдкреНрд░рд╡рд┐рд╖реНрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реН: ","рдирдореНрдмрд░рдЖрдЧрдд"))
    iInputa = Int(рдЖрдЧрдд рдмрд╛рдХрд╕$ "рджреЛрд╕реНрд░реЛ рдирдореНрдмрд░ рдкреНрд░рд╡рд┐рд╖реНрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реН: ","рдирдореНрдмрд░рдЖрдЧрдд"))
    iInputc=iInputa
    GoSub SquareRoot
    iInputa;"рдХреЛ рдмрд░реНрдЧрдореВрд▓";iInputc;" рд╣реЛ" рдореБрджреНрд░рдг рдЧрд░реНрдиреБрд╣реЛрд╕реН ред
    iInputc=iInputb
    GoSub SquareRoot
    "рдХреЛ рдмрд░реНрдЧрдореВрд▓";iInputb;" рд╣реЛ";iInputc рдореБрджреНрд░рдг рдЧрд░реНрдиреБрд╣реЛрд╕реН
    Exit Sub
SquareRoot:
    iInputc=sqr(iInputc)
    Return
End Sub

Please support us!