LibreOffice 25.2 žinynas
Iškviečia paprogramę, kuri nurodoma žyme viduje Sub arba Funkcija. Sakiniai, einantys po žymės, vykdomi iki kito Return sakinio. Vėliau programa tęsia nuo sakinio, kuris eina po sakinio GoSub.
GoSub žymė[:]
žymė: Eilutės identifikatorius, nurodantis, nuo kur tęsti vykdymą. Žymės taikymo sritis yra paprogramė, kuriai priklauso ši žymė.
Sakinys GoSub iškviečia lokalią paprogramę, nurodoma žyme iš paprogramės ar funkcijos. Žymės pavadinimas turi baigtis dvitaškiu (":").
Sub/Function foo
' sakiniai
GoSub label
' sakiniai
Exit Sub/Function
label:
' sakiniai
Return
End Sub/Function
Jei programa susiduria su „Return“ sakiniu, prieš kurį nėra GoSub, tai „LibreOffice Basic“ pateikia klaidos pranešimą. Naudokite Exit Sub arba Exit Function, kad įsitikintumėte, jog programa užbaigia „Sub“ arba „Function“ prieš pasiekdama kitą „Return“ sakinį.
Šis pavyzdys parodo, kaip naudoti GoSub ir Return. Du kartus įvykdžius programą, ji apskaičiuoja kvadratinę šaknį iš dviejų vartotojo įvestų skaičių.
Sub ExampleGoSub
Dim iInputa As Single
Dim iInputb As Single
Dim iInputc As Single
iInputa = Int(InputBox("Įveskite pirmąjį skaičių : ","Įvedamas skaičius"))
iInputa = Int(InputBox("Įveskite antrąjį skaičių : ","Įvedamas skaičius"))
iInputc=iInputa
GoSub SquareRoot
Print "Kvadratinė šaknis iš";iInputa;" is";iInputc
iInputc=iInputb
GoSub SquareRoot
Print "Kvadratinė šaknis iš";iInputa;" is";iInputc
Exit Sub
SquareRoot:
iInputc=sqr(iInputc)
Return
End Sub