组织、注释和引用代码
1. 模块和命名空间
在F#中,模块和命名空间是组织代码的基本工具。模块是将一组值和类型按共同名称分组的方式,而命名空间则用于更大范围的代码组织。以下是关于模块和命名空间的一些关键点:
模块
模块是F#代码的主要组织单元。默认情况下,每个模块都包含在一个单独的源文件中。模块内的标识符可以自由地相互引用,而引用模块外部的标识符时,则需要通过模块名称进行限定,除非模块通过 open
指令显式打开。
显式命名模块
要显式命名一个模块,可以使用 module
关键字。该关键字有两种模式:
- 给整个源文件赋名。
- 给源文件的一部分赋名,从而在同一文件中创建多个模块。
// 创建顶层模块
module ModuleDemo
// 创建嵌套模块
module FirstModule =
let n = 1
module SecondModule =
let n = 2
module ThirdModule =
let n = 3
命名空间
命名空间用于更大的代码组织,可以包含多个模块和类型定义。命名空间可以包含类型定义,但不能直接包含值定义。如果需要在命名空间中定义值,则必须在命名空间内创建模块。
// 定义命名空间
namespace Strangelights.Be