通俗點講:Goto語句只能“去”,但不能返回。
黑龍江網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),黑龍江網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為黑龍江近千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務(wù)好的黑龍江做網(wǎng)站的公司定做!
而GoSub不僅僅可以去,還可以通過Return返回到Gosub語句后面。
例如:
Sub?xx()
Dim?i?as?long
i?=?1
Goto?iNext
i?=?100
Msgbox?i
Exit?Sub????'通常Goto或者Gosub語句,如果跳轉(zhuǎn)后代碼在末尾,為防止多余程序運行,需要添加Exit?Sub提前終止代碼運行。
iNext:
msgbox?i????'那么Goto到這里就只能向下運行到End?Sub結(jié)束程序了。
End?Sub
Sub?yy()
Dim?i?as?long
i?=?1
GoSub?iNext
i?=?100
Msgbox?i
Exit?Sub????'注意通常Goto或者Gosub語句,如果跳轉(zhuǎn)后代碼在末尾,為防止多余程序運行,需要添加Exit?Sub提前終止代碼運行。
iNext:
msgbox?i????'ok,Gosub不僅僅在這里運行了。
Return??????'而且,通過這里程序又返回到Gosub?iNext后面,接下來執(zhí)行i?=?100了。
End?Sub
以上就是Goto與Gosub語句的主要區(qū)別所在!
下面是VB.NET對流程控制語句的修改:
1. GoSub不再受到支持。
2. Call、Function和Sub語句均可用于調(diào)用過程。
3. On ... GoSub和On ... GoTo語句不再受支持??梢允褂肧elect Case語句來替代。
4. While ... Wend語句現(xiàn)在改為While…End While語句。不再支持Wend關(guān)鍵字。
兄弟,上次給你答的題,你還沒有選采納答案呢!
如果一定要弄清楚行號咋整,那么建議你使用On ... Goto或者On ... GoSub語句來試試。
如果你能理解下面這段代碼,那么我相信,Goto語句和GoSub語句的區(qū)別你應(yīng)該完全能明白了!
Sub?xx()
Dim?i?As?Long
For?i?=?1?To?2
On?i?GoSub?line1,?line2???'On?i?這里的i就表示Line1,line2的自然順序,
'當(dāng)i?=1時,GoSub跳轉(zhuǎn)到line1,
'當(dāng)i=?2的時候Gosub?跳轉(zhuǎn)到line2
Next
For?i?=?1?To?2
On?i?GoTo?Line3,?Line4
Next
Exit?Sub
line1:
MsgBox?"line1":???Return
line2:
MsgBox?"line???2":???Return
Line4:????????'注意3和4的順序
MsgBox?"Line?IV"
Line3:????????'注意這里的順序,因為Goto沒有Return語句,
'所以語句執(zhí)行到Msgbox之后,接下來直接運行EndSub語句了。
MsgBox?"line?III"
End?Sub