關鍵字參考 (F#)
本主題包含所有 F# 語言關鍵字相關資訊的連結。
F# 關鍵字表格
下表依字母順序顯示所有 F# 關鍵字及其簡短說明,以及提供更多資訊的相關主題連結。
Keyword |
Link |
描述 |
---|---|---|
abstract |
表示在其宣告之型別中沒有實作的方法,或是虛擬且有預設實作的方法。 |
|
and |
用於相互遞迴繫結中、屬性宣告中,以及在泛型屬性上與多個條件約束一起使用。 |
|
as |
用來提供物件名稱給目前的類別物件。也用來提供名稱給模式比對中的整個模式。 |
|
assert |
用於偵錯期間驗證程式碼。 |
|
base |
做為基底類別物件的名稱。 |
|
begin |
在詳細語法中,表示程式碼區塊的開頭。 |
|
class |
在詳細語法中,表示類別定義的開頭。 |
|
default |
表示抽象方法的實作;與抽象方法宣告一起用來建立虛擬方法。 |
|
delegate |
用來宣告委派 (Delegate)。 |
|
do |
用於迴圈建構或用來執行命令式程式碼。 |
|
done |
在詳細語法中,表示迴圈運算式中程式碼區塊的結尾。 |
|
downcast |
用來轉換為繼承鏈結中的較低型別。 |
|
downto |
在 for 運算式中,反向計數時使用。 |
|
elif |
用於條件分支。else if 的簡短形式。 |
|
else |
用於條件分支。 |
|
end |
在型別定義和型別擴充中,表示成員定義區段的結尾。 在詳細語法中,用來表示以 begin 關鍵字開頭之程式碼區塊的結尾。 |
|
exception |
用來宣告例外狀況型別。 |
|
extern |
表示宣告的程式項目定義於另一個二進位檔或組件。 |
|
false |
做為布林常值。 |
|
finally |
與 try 一起用來引入無論是否發生例外狀況都會執行的程式碼區塊。 |
|
for |
用於迴圈建構。 |
|
fun |
用於 Lambda 運算式,也稱為匿名函式。 |
|
function |
fun 關鍵字以及 Lambda 運算式中對單一引數執行模式比對之 match 運算式的較短替代方式。 |
|
global |
用來參考最上層 .NET 命名空間。 |
|
if |
用於條件分支建構。 |
|
in |
用於序列運算式,以及在詳細語法中用來分離運算式和繫結。 |
|
inherit |
用來指定基底類別或基底介面。 |
|
inline |
用來表示應直接整合至呼叫端程式碼的函式。 |
|
interface |
用來宣告及實作介面。 |
|
internal |
用來指定成員在組件內部是可見但在外部是不可見的。 |
|
lazy |
用來指定只在需要結果時才執行的計算。 |
|
let |
用來將名稱與值或函式產生關聯 (或繫結)。 |
|
let! |
用來將名稱繫結的非同步的計算結果的非同步工作流程中,或在其他計算的運算式,用來繫結的結果,也就是計算型別的名稱。 |
|
match |
透過比較值與模式,用於分支。 |
|
member |
用來宣告物件型別中的屬性或方法。 |
|
module |
用來將名稱與相關型別、值和函式群組產生關聯,在邏輯上從其他程式碼分離。 |
|
mutable |
用來宣告變數,也就是可變更的值。 |
|
namespace |
用來將名稱與相關型別和模組群組產生關聯,在邏輯上從其他程式碼分離。 |
|
new |
用來宣告、定義或叫用建立或可建立物件的建構函式。 在泛型參數條件約束中也用來表示型別必須有特定的建構函式。 |
|
not |
實際上並不是關鍵字。不過,組合中的 not struct 是做為泛型參數條件約束。 |
|
null |
表示缺少物件。 也用於泛型參數條件約束。 |
|
of |
在已區分的聯集中用來表示值分類的型別,也用於委派和例外狀況宣告。 |
|
open |
用來讓命名空間或模組的內容可以在沒有限定性條件下使用。 |
|
or |
在布林條件中做為布林 or 運算子。相當於 ||。 也用於成員條件約束。 |
|
override |
用來實作一個不同於基底版本的抽象或虛擬方法版本。 |
|
private |
限制對相同型別或模組中程式碼成員的存取。 |
|
public |
允許對型別外部成員的存取。 |
|
rec |
用來表示函式是遞迴函式。 |
|
return |
用來表示做為計算運算式的結果值。 |
|
return! |
用來指出運算的運算式,評估時,提供包含計算運算式的結果。 |
|
select |
用於查詢運算式中指定欄位或擷取的資料行為何。請注意這是內容關鍵字,也就不是實際的保留的字,它僅就像在適當的內容中的關鍵字。 |
|
static |
用來表示可在沒有型別執行個體的情況下呼叫的方法或屬性,或是所有型別執行個體共用的值成員。 |
|
struct |
用來宣告結構型別。 也用於泛型參數條件約束。 在模組定義中做為 OCaml 相容性之用。 |
|
then |
用於條件運算式。 也用於物件建構後執行副作用。 |
|
to |
在 for 迴圈中用來表示範圍。 |
|
true |
做為布林常值。 |
|
try |
用來引入可能會產生例外狀況的程式碼區塊。與 with 或 finally 一起使用。 |
|
type |
用來宣告類別、記錄、結構、已區分的聯集、列舉型別、測量單位或型別縮寫。 |
|
upcast |
用來轉換為繼承鏈結中的較高型別。 |
|
use |
針對需要呼叫 Dispose 以釋放資源的值,用來取代 let。 |
|
use! |
用來取代let!在非同步工作流程和其他的計算值的運算式需要Dispose被呼叫以釋放資源。 |
|
val |
在簽章中用來表示值,或在型別中宣告成員 (有限情況下)。 |
|
void |
表示 .NET void 型別。與其他 .NET 語言相互操作時使用。 |
|
when |
在模式比對上用於布林條件 (「When 成立條件」(When Guard)),以及引入泛型型別參數的條件約束子句。 |
|
while |
引入迴圈建構。 |
|
with |
在模式比對運算式中與 match 關鍵字一起使用。在物件運算式、記錄複製運算式和型別擴充中也用來引入成員定義,以及引入例外狀況處理常式。 |
|
yield |
在序列運算式中用來產生序列的值。 |
|
yield! |
用於計算的運算式中將附加到包含計算運算式的結果集合的指定的運算的運算式的結果。 |
此外,F# 中保留下列語彙基元,因為它們是 OCaml 語言關鍵字:
asr |
land |
lor |
lsl |
lsr |
lxor |
mod |
sig |
如果使用 --mlcompatibility 編譯器選項,這些關鍵字可做為識別項。
下列語彙基元是保留關鍵字,供 F# 語言日後擴充之用:
atomic |
break |
checked |
component |
const |
constraint |
constructor |
continue |
eager |
event |
external |
fixed |
functor |
include |
method |
mixin |
object |
parallel |
process |
protected |
pure |
sealed |
tailcall |
trait |
virtual |
volatile |