Gosub는 해당 서브루틴으로 가서 Return을 만나면 불린곳으로 다시 돌아갑니다.
이와 반대로 Goto는 해당 서브루틴으로 가서 뒤끝없이 그냥 거기서 끝. 다시 돌아가지 않습니다.
간단한 테스트
MsgBox,1
Gosub,a
MsgBox,3
Return
a:
MsgBox,2
이런 스크립트를 짜보면 메세지박스1을 띄우고 서브루틴a로 가서 메세지박스2를 띄우고 다시 돌아가서 메세지박스3을 띄울것같지만 return이 없어 돌아가지 않고 1, 2만 띄울 뿐입니다.
MsgBox,1
Gosub,a
MsgBox,3
Return
a:
MsgBox,2
Return
이러면 어떨까요? 예상대로 1, 2, 3을 모두 띄운후 끝납니다.
이제 Goto를 보죠
MsgBox,1
Goto,a
MsgBox,3
Return
a:
MsgBox,2
Return
1을 띄우고 서브루틴a로 가서 2를 띄우고 return을 만났으니 그냥 끝납니다.
물론 Ruturn을 쓰지 않아도 다음 내용이 없기때문에 끝나죠.