首页 > 解决方案 > 哪些 F# 类型名称和声明语法被认为是惯用的?

问题描述

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

具体来说,我想知道:

资料来源:

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

标签: f#

解决方案


对于双打来说,几乎总是float. 除非你同时处理单打和双打,并且需要确保清晰我猜。

对于泛型类型,我使用并看到人们使用的常用语法是:

  • int option
  • int list
  • int[]
  • 对于所有其他类型,包括特定于 F# 的类型,如AsyncSetMap,使用尖括号语法。

我觉得唯一有重大分歧的类型是seq(的别名IEnumerable):我想说大多数人使用seq<int>但有相当多的人写int seq。无论哪种方式,您绝对应该使用seq而不是IEnumerable. 同样,您应该ResizeArraySystem.Collections.Generic.List.


推荐阅读