Indhold
Indholdsfortegnelse 🔎︎

# GoSub...Return-udtryk

Kalder en subrutine, som vises med en etiket inde i en Sub eller en Function. Udtrykket efter etiketten udføres, indtil det næste Return-udtryk. Derefter fortsætter programmet med det udtryk, som følger efter GoSub-udtrykket.

### Syntaks:

    GoSub label[:]

### Parametre:

label: E#n linje-identifikator, der viser, hvor udførelsen fortsætter. En etikets rækkevidde er den rutine, den tilhører.

Udtrykket GoSub kalder en lokal subrutine, der vises med en etiket inde fra en subrutine eller en funktion. Etikettens navn skal slutte med et kolon (":").

      Sub/Function foo
          ' udtrykket
          GoSub label
          ' udtryk
          Exit Sub/Function
      label:
          ' udtryk
          Return
      End Sub/Function

Hvis programmet møder en Return-sætning, der ikke er indledt med GoSub, returnerer LibreOffice Basic en fejlmeddelelse. Brug Exit Sub eller Exit Function for at sikre, at programmet forlader en Sub eller en Function, før det når næste Return-sætning.

Følgende eksempel demonstrerer brugen af GoSub og Return. Ved at udføre en programsektion to gange beregner programmet kvadratroden af to tal, som er indtastet af brugeren.

### Eksempel:

    Sub ExampleGoSub
    Dim iInputa As Single
    Dim iInputb As Single
    Dim iInputc As Single
        iInputa = Int(InputBox$("Indtast det første tal: ","Talindtastning"))
        iInputb = Int(InputBox$("Indtast det andet tal: ","Talindtastning"))
        iInputc=iInputa
        GoSub SquareRoot
        Print "Kvadratroden af";iInputa;" er";iInputc
        iInputc=iInputb
        GoSub SquareRoot
        Print "Kvadratroden af";iInputb;" er";iInputc
        Exit Sub
    SquareRoot:
        iInputc=sqr(iInputc)
        Return
    End Sub

Relaterede emner

GoTo Statement

On...GoSub-udtryk; On...GoTo-udtryk