麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > C > 正文

深入理解goto語句的替代實現方式分析

2020-01-26 16:11:05
字體:
來源:轉載
供稿:網友
曾幾何時,goto是多么的讓牛人綻放他們高超的精湛技術
曾幾何時,goto又變成了萬惡之首
曾幾何時,goto只在教科書中的示例才會出現
有太多的理由不讓用goto,但有時,我們又想使用goto的功能,怎么辦?
用try/catch/finally便可實現同等于goto的功能,來看二個示例:
復制代碼 代碼如下:

try {
      // operation one
      if (failed) {
            throw Exception;
      }
      // operation two
      if (failed) {
            throw Exception;
      }
      // operation three
      if (failed) {
           throw Exception;
      }
} catch (Exception e) {
      // do something when cases failed
}

和:
復制代碼 代碼如下:

try {
     // operation one
     if (failed) {
         return;
     }
     // operation two
     if (failed) {
         return;
     }
      // operation three
      if (failed) {
          return;
      }
} finally {
      // do something when failed
}

以上二段都等同于:
復制代碼 代碼如下:

       // operation one
       if (failed) {
           goto when_failed;
       }
       // operation one
       if (failed) {
           goto when_failed;
       }
       // operation one
       if (failed) {
           goto when_failed;
       }
when_failed:
       // do something when failed

用異常的方式有些暴力,但確實能正確的幫助實現類似goto的功能;用return和finally雖不是很暴力,但是比較難控制,因為涉及到return語句,它會在finally塊執行后得以執行,所以如果不想退出程序的話,這個方法還不如用異常來控制。
另外,break, continue也是比較強大的跳轉語句,特別是break label和continue label,可以跳出一層循環或是多層循環; 但是要注意一點的是break只能在循環語句和switch語句中使用,continue只能在循環語句中使用。所以它們的局限性也很大。
這個小示例說明,goto不單單是一個語句,它是一種解決問題的思路和編程習慣,習慣了它的人,或者是想用它的人,即使不用goto也會寫出類似goto邏輯出來。它的優點是會更容易的幫助找出解決方案。它的缺點也是眾人皆知。但我們要避免的不單單是一個goto語句,而是這種“跳轉式”的解決思路和編程習慣。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: sese在线视频 | 日日草夜夜 | av在线久草 | 一级观看免费完整版视频 | 久久国产精品影视 | 91麻豆精品国产91久久久点播时间 | 成人免费在线视频播放 | 亚洲成人黄色片 | 欧美性生交zzzzzxxxxx | 久久99国产伦子精品免费 | 91九色免费视频 | 亚洲一区二区三区视频免费 | 久久毛片 | 毛片免费在线视频 | 黄色一级片毛片 | 国产精品久久久久久久久久久久久久久 | 欧美激情区 | 日韩欧美中文字幕视频 | 色网在线视频 | 在线a毛片免费视频观看 | 日韩视频1| 久久精品电影网 | 国产女厕一区二区三区在线视 | 怦然心动50免费完整版 | 黄网站免费观看视频 | 亚洲精品a在线观看 | 久久久久北条麻妃免费看 | www.17c亚洲蜜桃 | 成年免费大片黄在线观看岛国 | 国产午夜亚洲精品 | 日韩午夜片 | 国产一级淫片在线观看 | 2017亚洲男人天堂 | 欧美在线观看视频一区二区 | 一二区成人影院电影网 | 超碰97人人艹 | 国产视频导航 | 一区二区三视频 | av电影在线观看网站 | 久久精精品| 欧美18—19sex性hd按摩 |