该 unit
类型是一种类型,指示缺少特定值;该 unit
类型只有一个值,当不存在其他值或不需要值时,它充当占位符。
语法
// The value of the unit type.
()
注解
每个 F# 表达式都必须计算结果为一个值。 对于不生成感兴趣的值的表达式,将使用类型的 unit
值。 该 unit
类型类似于 void
C# 和 C++ 等语言的类型。
该 unit
类型具有单个值,该值由标记 ()
指示。
该类型的值 unit
通常用于 F# 编程,用于保存语言语法需要值的位置,但当不需要或需要值时。 例如,函数的 printf
返回值。 由于该作的重要 printf
作发生在函数中,因此该函数不必返回实际值。 因此,返回值的类型 unit
。
某些构造需要一个 unit
值。 例如, do
模块顶层的绑定或任何代码应评估为值 unit
。 当模块顶层的绑定或代码生成的结果时,编译器将报告警告 do
,而不是 unit
未使用的值,如以下示例所示。
let function1 x y = x + y
// The next line results in a compiler warning.
function1 10 20
// Changing the code to one of the following eliminates the warning.
// Use this when you do want the return value.
let result = function1 10 20
// Use this if you are only calling the function for its side effects,
// and do not want the return value.
function1 10 20 |> ignore
此警告是函数编程的一个特征;它不会出现在其他 .NET 编程语言中。 在纯函数程序中,其中函数没有任何副作用,最终返回值是函数调用的唯一结果。 因此,当结果被忽略时,可能是一个编程错误。 尽管 F# 不是纯函数编程语言,但最好尽可能遵循函数编程样式。