国产自操久久,9999在线观看,日韩中文字幕,中文字幕精品视频在线,5151精品国产人成在线观看,狠狠色综合久久婷婷色天使 ,国产精品一区二区男人吃奶

理解goto語(yǔ)句的替代方式分析

時(shí)間:2020-08-27 18:36:22 句子 我要投稿

理解goto語(yǔ)句的替代方式分析

  曾幾何時(shí),goto是多么的讓牛人綻放他們高超的精湛技術(shù)

  曾幾何時(shí),goto又變成了萬(wàn)惡之首

  曾幾何時(shí),goto只在教科書中的示例才會(huì)出現(xiàn)

  有太多的理由不讓用goto,但有時(shí),我們又想使用goto的功能,怎么辦?

  用try/catch/finally便可實(shí)現(xiàn)同等于goto的功能,來(lái)看二個(gè)示例:

  復(fù)制代碼 代碼如下:

  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

  }

  和:

  復(fù)制代碼 代碼如下:

  try {

  // operation one

  if (failed) {

  return;

  }

  // operation two

  if (failed) {

  return;

  }

  // operation three

  if (failed) {

  return;

  }

  } finally {

  // do something when failed

  }

  以上二段都等同于:

  復(fù)制代碼 代碼如下:

  // 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

  用異常的方式有些暴力,但確實(shí)能正確的幫助實(shí)現(xiàn)類似goto的功能;用return和finally雖不是很暴力,但是比較難控制,因?yàn)樯婕暗絩eturn語(yǔ)句,它會(huì)在finally塊執(zhí)行后得以執(zhí)行,所以如果不想退出程序的`話,這個(gè)方法還不如用異常來(lái)控制。

  另外,break, continue也是比較強(qiáng)大的跳轉(zhuǎn)語(yǔ)句,特別是break label和continue label,可以跳出一層循環(huán)或是多層循環(huán); 但是要注意一點(diǎn)的是break只能在循環(huán)語(yǔ)句和switch語(yǔ)句中使用,continue只能在循環(huán)語(yǔ)句中使用。所以它們的局限性也很大。

  這個(gè)小示例說(shuō)明,goto不單單是一個(gè)語(yǔ)句,它是一種解決問(wèn)題的思路和編程習(xí)慣,習(xí)慣了它的人,或者是想用它的人,即使不用goto也會(huì)寫出類似goto邏輯出來(lái)。它的優(yōu)點(diǎn)是會(huì)更容易的幫助找出解決方案。它的缺點(diǎn)也是眾人皆知。但我們要避免的不單單是一個(gè)goto語(yǔ)句,而是這種“跳轉(zhuǎn)式”的解決思路和編程習(xí)慣。

【理解goto語(yǔ)句的替代方式分析】相關(guān)文章:

《易經(jīng)》的理解分析07-24

對(duì)《易經(jīng)》的理解分析01-15

《化石吟》課文的重點(diǎn)語(yǔ)句理解03-01

《木蘭詩(shī)》教材理解分析05-03

《化石吟》重點(diǎn)語(yǔ)句理解推薦03-01

《化石吟》重點(diǎn)語(yǔ)句分析11-21

課文孔乙己重點(diǎn)語(yǔ)句分析08-04

《別了,不列顛尼亞》課文理解分析08-31

歐陽(yáng)修豐樂(lè)亭記閱讀理解及答案分析01-19

內(nèi)經(jīng)的補(bǔ)血方式02-08

武宁县| 沛县| 冕宁县| 姚安县| 宣汉县| 边坝县| 大安市| 开鲁县| 涿鹿县| 博湖县| 曲靖市| 泽州县| 安阳市| 同仁县| 海晏县| 通州区| 彰化市| 通化县| 壤塘县| 平定县| 靖安县| 文昌市| 扎囊县| 富宁县| 天津市| 广州市| 家居| 普安县| 岐山县| 赣州市| 邳州市| 高雄市| 杭锦后旗| 博湖县| 香港| 额济纳旗| 河西区| 靖远县| 义马市| 临高县| 桦甸市|