本節是 F# 的參考,這是以 .NET 為目標的多架構程序設計語言。 F# 支援功能、面向物件和命令式程式設計模型。
組織 F# 程式代碼
下表顯示與組織 F# 程式代碼相關的參考文章。
| 標題 | 說明 |
|---|---|
| 命名空間 | 瞭解 F# 中的命名空間支援。 命名空間可讓您將程式代碼組織成相關功能區域,方法是讓您將名稱附加至程式專案群組。 |
| 模組 | 了解課程模組。 F# 模組就像命名空間,也可以包含值和函式。 將模組中的程式代碼分組有助於將相關的程式代碼保持在一起,並協助避免程式的名稱衝突。 |
open 聲明 |
了解運作方式 open 。 宣告 open 會指定模組、命名空間或類型,您可以在不使用完整名稱的情況下參考其專案。 |
| 簽章 | 了解簽章和簽章檔案。 簽章檔案包含一組 F# 程式專案之公用簽章的相關信息,例如類型、命名空間和模組。 它可以用來指定這些程式項目的輔助功能。 |
| 存取控制 | 瞭解 F# 中的存取控制。 訪問控制表示宣告哪些用戶端可以使用特定程序專案,例如類型、方法、函式等等。 |
| XML 檔 | 瞭解從 XML 檔批注產生檔檔的支援,也稱為三斜線批注。 您可以從 F# 中的程式代碼批註產生檔,如同其他 .NET 語言一樣。 |
常值和字串
下表顯示描述 F# 中常值和字串的參考文章。
| 標題 | 說明 |
|---|---|
| 字面值 | 瞭解 F# 中常值語法,以及如何指定 F# 常值的類型資訊。 |
| 字串 | 瞭解 F# 中的字串。 此 string 類型表示不可變的文字,做為 Unicode 字元序列。
string 是 System.String 在 .NET 中的別名。 |
| 插值字串 | 瞭解插補字串,這是一種特殊的字串形式,可讓您直接在它們內嵌 F# 運算式。 |
值和函式
下表顯示描述值、 let系結和函式相關語言概念的參考文章。
| 標題 | 說明 |
|---|---|
| 價值 | 瞭解具有特定類型的不可變數量值;值可以是整數或浮點數、字元或文字、清單、序列、陣列、Tuple、歧視聯集、記錄、類別類型或函數值。 |
| 函數 | 函式是任何程式設計語言中程序執行的基本單位。 F# 函式具有名稱、可以有參數和接受自變數,以及具有主體。 F# 也支援函式程式設計建構,例如在運算式中使用未命名的函式、函式組合來形成新函式、curried 函式,以及函式自變數的部分應用來隱含定義函式。 |
| 函式表達式 | 瞭解如何使用 F# 'fun' 關鍵詞來定義 Lambda 表達式,這是匿名函式。 |
迴圈和條件式
下表列出描述 F# 循環和條件的文章。
| 標題 | 說明 |
|---|---|
條件表示式: if...then...else |
瞭解 if...then...else 表達式,其會執行不同的程式碼分支,並根據指定的布爾運算式評估為不同的值。 |
迴圈: for...in 表達式 |
了解 for...in 表達式,這是迴圈建構,用來逐一查看可列舉集合中模式的相符專案,例如範圍表達式、序列、清單、陣列或其他支援列舉的建構。 |
迴圈: for...to 表達式 |
了解 for...to 表達式,其用來逐一查看迴圈變數範圍的值。 |
迴圈: while...do 表達式 |
了解 while...do 表達式,在指定的測試條件為 true 時用來執行反覆執行(迴圈)。 |
模式比對
下表顯示描述語言概念的參考文章。
| 標題 | 說明 |
|---|---|
| 模式比對 | 瞭解模式,這些模式是轉換輸入數據的規則,並在整個 F# 中使用。 您可以比較數據與模式、將數據分解成組成部分,或以各種方式從數據擷取資訊。 |
| 比對表達式 | 了解 match 表達式,此表達式會根據表達式與一組模式的比較,提供分支控件。 |
| 活動模式 | 瞭解使用中的模式。 作用中的模式可讓您定義可細分輸入數據的具名分割區。 您可以使用作用中的模式,以自定義方式分解每個分割區的數據。 |
例外狀況處理
下表顯示描述例外狀況處理相關語言概念的參考文章。
| 標題 | 說明 |
|---|---|
| 例外狀況處理 | 包含 F# 中例外狀況處理支援的相關信息。 |
try...with表達式 |
瞭解如何使用 try...with 表達式來處理例外狀況。 |
try...finally表達式 |
瞭解 F# try...finally 表達式如何讓您執行清除程式碼,即使程式代碼區塊擲回例外狀況也一樣。 |
use關鍵詞 |
瞭解 關鍵詞 use 和 using,其可控制資源的初始化和發行。 |
| 斷言 | 了解 assert 表達式,這是可用來測試表達式的偵錯功能。 在偵錯模式失敗時,判斷提示會產生系統錯誤對話方塊。 |
類型和類型推斷
下表顯示描述類型與類型推斷在 F# 中的運作方式的參考文章。
| 標題 | 說明 |
|---|---|
| 類型 | 了解 F# 中使用的型別,以及 F# 型別的命名及描述方式。 |
| 基本類型 | 瞭解 F# 中使用的基本類型。 它也提供對應的 .NET 類型,以及每個類型的最小值和最大值。 |
| 單位類型 | 瞭解 unit 類型,這是指出沒有特定值的類型; unit 此類型只有單一值,當沒有任何其他值存在或需要時,做為佔位元。 |
| 類型縮寫 | 瞭解類型縮寫,這是類型的替代名稱。 |
| 類型推斷 | 瞭解 F# 編譯程式如何推斷值、變數、參數和傳回值的類型。 |
| 轉換和轉換 | 瞭解 F# 中類型轉換的支援。 |
| 泛型 | 瞭解 F# 中的泛型建構。 |
| 自動一般化 | 瞭解 F# 如何自動將自變數和函式類型一般化,以便盡可能使用多個類型。 |
| 條件約束 | 瞭解套用至泛型類型參數的條件約束,以指定泛型類型或函式中類型自變數的需求。 |
| 彈性類型 | 瞭解彈性類型。 彈性類型批注表示參數、變數或值具有與指定之類型相容的類型,其中相容性取決於類別或介面物件階層中的位置。 |
| 量值單位 | 瞭解量值單位。 F# 中的浮點值可以有相關聯的量值單位,這通常用來表示長度、體積、品質等。 |
| Byrefs | 瞭解 F# 中的 byref 和 byref 型別,這些類型用於低階程序設計。 |
Tuple、清單、集合、選項
下表顯示描述 F# 所支援類型的參考文章。
| 標題 | 說明 |
|---|---|
| Tuple | 瞭解 Tuple,這些 Tuple 是未命名但已排序之類型可能不同的值群組。 |
| 集合 | F# 功能集合類型的概觀,包括數位、清單、序列(seq)、地圖和集合的類型。 |
| 清單 | 瞭解清單。 F# 中的清單是所有相同類型的已排序、不可變的元素系列。 |
| 選項 | 瞭解選項類型。 當值可能或可能不存在時,會使用 F# 中的選項。 選項具有基礎類型,而且可以保留該類型的值,或可能沒有值。 |
| 陣列 | 了解陣列。 陣列是固定大小、以零為基底、可變動的連續數據元素序列,全都是相同的類型。 |
| 序列 | 瞭解序列。 序列是一系列邏輯專案,全部都是一種類型。 個別序列元素只會在必要時計算,因此表示法可能小於常值項目計數指出。 |
| 時序表達式 | 瞭解時序表達式,可讓您依需求產生數據序列。 |
| 參考儲存格 | 了解參考數據格,這是可讓您使用參考語意建立可變數的儲存位置。 |
記錄和歧視聯集
下表顯示描述 F# 所支援之記錄和區分等位型別定義的參考文章。
| 標題 | 說明 |
|---|---|
| 記錄 | 了解記錄。 記錄代表具名值的簡單匯總,選擇性地與成員。 |
| 匿名記錄 | 瞭解如何建構和使用匿名記錄,這是一種有助於數據處理的語言功能。 |
| 已區分的聯集 | 了解歧視等位,其可支援可能為各種具名案例之一的值,每個都有可能不同的值和類型。 |
| 結構體 | 了解結構,其為精簡物件類型,對於具有少量數據和簡單行為的型別而言,其效率會比類別更有效率。 |
| 列舉 | 列舉是具有一組已定義具名值的型別。 您可以使用它們取代常值,讓程式代碼更容易閱讀及維護。 |
物件程序設計
下表顯示描述 F# 物件程式設計的參考文章。
| 標題 | 說明 |
|---|---|
| 類別 | 了解類別,這些類別是代表可以具有屬性、方法和事件之對象的類型。 |
| 介面 | 瞭解介面,指定其他類別實作的相關成員集合。 |
| 抽象類 | 瞭解抽象類,這些類別是讓部分或所有成員未實作的類別,讓衍生類別可以提供實作。 |
| 類型延伸模組 | 瞭解類型延伸模組,可讓您將新成員新增至先前定義的物件類型。 |
| 代表 | 瞭解委派,以物件表示函式呼叫。 |
| 繼承 | 了解繼承,其用來在面向物件程序設計中建立「is-a」關聯性或子系結的模型。 |
| 成員 | 瞭解 F# 物件類型的成員。 |
| 參數和自變數 | 瞭解定義參數並將自變數傳遞至函式、方法和屬性的語言支援。 其中包含如何以傳址方式傳遞的資訊。 |
| 運算子多載 | 瞭解如何在類別或記錄類型中,以及在全域層級多載算術運算元。 |
| 物件表達式 | 了解物件表達式,這些表達式是建立以現有基底類型、介面或一組介面為基礎的動態建立、匿名物件類型之新實例的表達式。 |
異步、工作和延遲
下表列出描述 F# 異步、工作和延遲表達式的主題。
| 標題 | 說明 |
|---|---|
| 異步表達式 | 瞭解異步表達式,其可讓您以非常接近您自然撰寫同步程序代碼的方式撰寫異步程序代碼。 |
| 工作表達式 | 瞭解工作表達式,這是與取用或產生 .NET 工作之 .NET 程式代碼互通時所使用的異步程序代碼的替代方式。 |
| 延遲表達式 | 瞭解延遲表達式,這是不會立即評估的計算,而是在實際需要結果時進行評估。 |
計算表達式和查詢
下表列出描述 F# 計算運算式和查詢的主題。
| 標題 | 說明 |
|---|---|
| 計算表達式 | 瞭解 F# 中的計算表示式,其提供方便的語法來撰寫可使用控制流程建構和系結進行排序和結合的計算。 它們可用來管理功能程序中的數據、控件和副作用。 |
| 查詢表達式 | 瞭解查詢表達式,這是實作 F# LINQ 的語言功能,可讓您針對數據源或可列舉的集合撰寫查詢。 |
屬性、反映、引號和純文本格式設定
下表列出描述 F# 反射功能的文章,包括屬性、引號、 nameof和純文字格式設定。
| 標題 | 說明 |
|---|---|
| 屬性 | 瞭解 F# 屬性如何讓元數據套用至程式設計建構。 |
| nameof | 瞭解 nameof 運算子,這是一項中繼程式代碼功能,可讓您在原始程式碼中產生任何符號的名稱。 |
| 呼叫端資訊 | 瞭解如何使用呼叫端資訊自變數屬性,從方法取得呼叫端資訊。 |
| 來源行、檔案和路徑標識碼 | 瞭解標識碼 __LINE__、 __SOURCE_DIRECTORY__和 __SOURCE_FILE__,這些識別碼是內建值,可讓您存取程式代碼中的源行號、目錄和檔名。 |
| 程式代碼引號 | 瞭解程式代碼引號,這是一種語言功能,可讓您以程式設計方式產生和使用 F# 程式代碼表示式。 |
| 純文字格式設定 | 瞭解如何在 F# 應用程式和文稿中使用 sprintf 和其他純文字格式。 |
型別提供者
下表列出描述 F# 類型提供者的文章。
| 標題 | 說明 |
|---|---|
| 類型提供者 | 瞭解類型提供者,並尋找使用內建類型提供者存取資料庫和Web服務之逐步解說的連結。 |
| 建立類型提供者 | 瞭解如何藉由檢查數個說明基本概念的簡單類型提供者,來建立您自己的 F# 類型提供者。 |
F# 核心連結庫 API 參考
F# 核心連結庫 (FSharp.Core) API 參考 是所有 F# 核心連結庫命名空間、模組、類型和函式的參考。
參考資料表
下表顯示參考文章,這些參考文章提供 F# 中做為標記的關鍵詞、符號和常值數據表。
| 標題 | 說明 |
|---|---|
| 關鍵詞參考 | 包含所有 F# 語言關鍵詞相關信息的連結。 |
| 符號和運算符參考 | 包含 F# 中使用的符號和運算子數據表。 |
編譯程式支援的建構
下表列出描述特殊編譯程式支援建構的主題。
| 主題 | 說明 |
|---|---|
| 編譯程序選項 | 描述 F# 編譯程式的命令行選項。 |
| 編譯程式指示詞 | 描述 F# 編譯程式支援的處理器指示詞和編譯程式指示詞。 |