Small Basic: How to Remove Goto Statements
If your program has a lot of Goto statements, that can be called a spaghetti program. Structured program doesn't use Goto. So, how can you remove Goto from your program?
Endless Loop
If you use Goto for endless loop. You can use While statement for the loop.
Before
start:
DoSomething()
Goto start
After
While "True"
DoSomething()
EndWhile
Notice that indent in loop make your program more readable. You can easily indent your program with "Format Program" command in the popup menu when you push mouse right button.
Conditional Jump
If you'd like to change the direction from jump by the value of the variable, If-Then-ElseIf statements may be useful for that case.
Before
If case = "a" Then
Goto a
EndIf
If case = "b" Then
Goto b
EndIf
Goto end
a:
DoForA()
Goto end
b:
DoForB()
end:
After
If case = "a" Then
DoForA()
ElseIf case = "b" Then
DoForB()
EndIf
More Complicated Case
Actually there are many more complex flows in programs. So, sometime Goto seems to be easer than structured statements such as For, While, If-Then-Else. But many case if you use a flag (or some flags), you can remove Goto from your program.
Before
loop:
Search()
If eof Or found Then
Goto break
EndIf
Goto loop
break:
After
continue = "True"
While continue
Search()
If eof Or found Then
continue = "False"
EndIf
EndWhile
Variables eof, found, continue are flags which contains "True" or "False".