2010-06-20 26 views

回答

5

下面是帶有Java標籤的語言列表;即能夠將分出的標記語句或塊。

  • Java
  • Javascript
  • C# - C#支持goto <label>,但不break <label>continue <label>
  • Ada - 使用exit <label>聲明。
  • PL/SQL - 使用exit <label>continue <label>聲明。

下面是帶有更一般的GO TO構造(或等效)的語言列表,允許應用程序在相同的語法級別或外層級別轉移到任何標籤。

  • Pascal
  • FORTRAN - FORTRAN也有一個「計算轉移」,其中目標標籤是在運行時選擇的,以及「分配的goto」,這是自修改代碼的形式。
  • COBOL
  • Ç
  • C++

許多語言(也)支持投擲和捕獲異常。這可以被認爲是分支到標籤的一種通用形式。但有兩個重要的區別:

  • 「投擲點」沒有指定將捕捉異常的位置(即標籤)。
  • 控制流可能跳出當前過程/函數/方法調用。

Ruby's throw/catch似乎有正常的異常處理方面和標記聲明。不過,我傾向於認爲,因爲標籤不需要進行詞法範圍,這是最接近正常的異常處理。)

請添加更多。

+0

用C#(至少),它是不一樣的。問題中的Java示例允許您使用* break或continue(例如:break foo;)指定標籤*。 C#不支持。 – 2010-06-20 06:02:28

+0

c#支持goto {label},但不會中斷{label}或繼續{label}。 – Naveen 2010-06-20 06:03:41

+0

列出既不提供跳轉也不提供標籤休息的語言會更快。 Python for one http://www.python.org/dev/peps/pep-3136/ – Gunslinger47 2010-06-20 06:24:17

0
  • ℃。
  • 英特爾x86彙編
  • 的Python