哪些F#类型名称和声明语法被认为是惯用的?

哪些F#类型名称和声明语法被认为是惯用的?,f#,F#,F#有多种方法来声明相同的类型。这可能是因为F#作为ML家族成员和.NET语言的双重血统。我还没有找到任何关于哪种风格更地道的指导 具体来说,我想知道: 对于F#、float或double中的64位IEEE 754浮点数字,哪个更为惯用 在F#中,哪一种更习惯于声明数组类型: int[] int数组 数组 资料来源: 上下文:我正在编写一些API文档,解释数据存储中的数据如何映射到.NET类型,以及这些类型通常如何在C#和F#中声明。似乎是一个很好的示例,对于双精度,它似乎更喜欢

F#有多种方法来声明相同的类型。这可能是因为F#作为ML家族成员和.NET语言的双重血统。我还没有找到任何关于哪种风格更地道的指导

具体来说,我想知道:

  • 对于F#、
    float
    double
    中的64位IEEE 754浮点数字,哪个更为惯用
  • 在F#中,哪一种更习惯于声明数组类型:
    • int[]
    • int数组
    • 数组
资料来源:


上下文:我正在编写一些API文档,解释数据存储中的数据如何映射到.NET类型,以及这些类型通常如何在C#和F#中声明。

似乎是一个很好的示例,对于双精度,它似乎更喜欢
浮点
int[]
seq
,它几乎总是
float
。除非你同时处理单打和双打,并且需要确保清晰,我想

对于泛型类型,我和see people使用的常用语法是:

  • int选项
  • int列表
  • int[]
  • 对于所有其他类型,包括特定于F的类型,如
    Async
    Set
    Map
    ,都使用尖括号语法

我觉得唯一有明显差异的类型是
seq
(IEnumerable的别名):我认为大多数人使用
seq
,但有相当多的人编写
int-seq
。无论哪种方式,您都应该使用
seq
,而不是
IEnumerable
。类似地,对于
System.Collections.Generic.List

,您应该使用别名
ResizeArray
,根据交互模式中显示的类型,float实际上是默认的实数类型F#,对应于64位浮点数(即双精度)。对于数组,它显示int[],而对于整数列表,它显示int list。我发现,当您将int[]声明为数组时,fsi将使用int[],如果您将其声明为数组或int array,则使用int array对投票关闭的人说,因为这是基于意见的:是,属于语言风格指南的东西通常是意见的问题。这并不意味着在这个问题上没有权威的意见。