VB中GoTo和GoSub...Return的区别?

如题所述

通俗点讲:Goto语句只能“去”,但不能返回。

而GoSub不仅仅可以去,还可以通过Return返回到Gosub语句后面。

例如:

Sub xx()
    Dim i as long
    i = 1
    Goto iNext
    i = 100
    Msgbox i
    
    Exit Sub    '通常Goto或者Gosub语句,如果跳转后代码在末尾,为防止多余程序运行,需要添加Exit Sub提前终止代码运行。
iNext:
    msgbox i    '那么Goto到这里就只能向下运行到End Sub结束程序了。
End Sub

Sub yy()
    Dim i as long
    i = 1
    GoSub iNext
    i = 100
    Msgbox i
    
    Exit Sub    '注意通常Goto或者Gosub语句,如果跳转后代码在末尾,为防止多余程序运行,需要添加Exit Sub提前终止代码运行。
iNext:
    msgbox i    'ok,Gosub不仅仅在这里运行了。
    Return      '而且,通过这里程序又返回到Gosub iNext后面,接下来执行i = 100了。
End Sub

以上就是Goto与Gosub语句的主要区别所在!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-09
GoTo是单程票
GoSub...Return是双程票

这两条语句是早期的Basic语言中的语句,在VB中是不推荐使用的,因为它们破坏了结构化编程的精神
相似回答