Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Module 顶级模块和本地模块之间有什么区别吗?_Module_F# - Fatal编程技术网

Module 顶级模块和本地模块之间有什么区别吗?

Module 顶级模块和本地模块之间有什么区别吗?,module,f#,Module,F#,我是F的新手,但对C很熟悉。我想知道声明顶级模块和本地模块(例如性能等)之间是否有区别,除了顶级模块不需要名称空间声明(它是模块声明的一部分)。 我在文档()中找不到任何指定其他差异的内容 基本上,我更喜欢来自C#世界 //Version 1 namespace My.Namespace module MyModule = let a = 1 结束 考虑到在两个版本中,文件中只有一个模块,版本2是否会带来任何缺点(与版本1相比)?这些都是等效的。根据F#3.0: 以模块声明开头的实

我是F的新手,但对C很熟悉。我想知道声明顶级模块和本地模块(例如性能等)之间是否有区别,除了顶级模块不需要名称空间声明(它是模块声明的一部分)。 我在文档()中找不到任何指定其他差异的内容

基本上,我更喜欢来自C#世界

//Version 1
namespace My.Namespace

module MyModule = 
    let a = 1
结束


考虑到在两个版本中,文件中只有一个模块,版本2是否会带来任何缺点(与版本1相比)?

这些都是等效的。根据F#3.0:

以模块声明开头的实现文件定义了 具有一个模块的单个命名空间声明组。例如:

module MyCompany.MyLibrary.MyModule
    let x = 1
相当于:

namespace MyCompany.MyLibrary
module MyModule = 
     let x = 1

当你在同一个文件中有多个模块时,你只需要第一个版本。非常感谢,这就是我想要的答案!
namespace MyCompany.MyLibrary
module MyModule = 
     let x = 1