- F# 基礎教程
- F# - 首頁
- F# - 概述
- F# - 環境搭建
- F# - 程式結構
- F# - 基本語法
- F# - 資料型別
- F# - 變數
- F# - 運算子
- F# - 決策
- F# - 迴圈
- F# - 函式
- F# - 字串
- F# - 可選項
- F# - 元組
- F# - 記錄
- F# - 列表
- F# - 序列
- F# - 集合
- F# - 對映
- F# - 辨析聯合
- F# - 可變資料
- F# - 陣列
- F# - 可變列表
- F# - 可變字典
- F# - 基本I/O
- F# - 泛型
- F# - 委託
- F# - 列舉
- F# - 模式匹配
- F# - 異常處理
- F# - 類
- F# - 結構體
- F# - 運算子過載
- F# - 繼承
- F# - 介面
- F# - 事件
- F# - 模組
- F# - 名稱空間
F# - 模組
根據 MSDN 庫,F# 模組是 F# 程式碼結構(例如型別、值、函式值和 do 繫結中的程式碼)的組合。它實現為一個公共語言執行時 (CLR) 類,該類只有靜態成員。
根據整個檔案是否包含在模組中,模組宣告有兩種型別:
- 頂級模組宣告
- 區域性模組宣告
在頂級模組宣告中,整個檔案都包含在模組中。在這種情況下,檔案中的第一個宣告是模組宣告。您不必縮排頂級模組中的宣告。
在區域性模組宣告中,只有在該模組宣告下縮排的宣告才是模組的一部分。
語法
模組宣告的語法如下:
// Top-level module declaration. module [accessibility-modifier] [qualified-namespace.]module-name declarations // Local module declaration. module [accessibility-modifier] module-name = declarations
請注意,訪問修飾符可以是以下之一:public、private、internal。預設為public。
以下示例將演示這些概念:
示例 1
模組檔案 Arithmetic.fs:
module Arithmetic let add x y = x + y let sub x y = x - y let mult x y = x * y let div x y = x / y
程式檔案 main.fs:
// Fully qualify the function name. open Arithmetic let addRes = Arithmetic.add 25 9 let subRes = Arithmetic.sub 25 9 let multRes = Arithmetic.mult 25 9 let divRes = Arithmetic.div 25 9 printfn "%d" addRes printfn "%d" subRes printfn "%d" multRes printfn "%d" divRes
編譯並執行程式後,將產生以下輸出:
34 16 225 2 110 90 1000 10
示例 2
// Module1
module module1 =
// Indent all program elements within modules that are declared with an equal sign.
let value1 = 100
let module1Function x =
x + value1
// Module2
module module2 =
let value2 = 200
// Use a qualified name to access the function.
// from module1.
let module2Function x =
x + (module1.module1Function value2)
let result = module1.module1Function 25
printfn "%d" result
let result2 = module2.module2Function 25
printfn "%d" result2
編譯並執行程式後,將產生以下輸出:
125 325
廣告