本文概述
- 参数和返回类型的推断
- F#参数和返回类型的推断示例
- F#自动归纳
类型推断意味着在编写代码时, 你无需指定值或变量的类型。 F#编译器的功能足以推断出值的类型。省略F#类型信息并不意味着F#是一种动态类型语言。 F#是强静态类型的语言。这意味着编译器会在代码编译期间推断出自动类型。
【F#类型推断】它使代码更具可读性, 尺寸更小, 并节省了编写更多代码的时间。
参数和返回类型的推断你无需在参数列表中指定参数类型。编译器根据上下文推断类型。如果未指定类型, 则推断为通用。如果代码以不一致的方式不一致地使用值, 则编译器将报告错误。
函数的返回类型由函数中的最后一个表达式确定。
F#参数和返回类型的推断示例
let add a b =//Here, all parameters are inferred to int because of passing values during calling
a+b// Return type of this function is int because type of this expression is int.
printf "%d" (add 10 20)
输出:
30
F#自动归纳如果代码未明确指定任何类型, 则编译器将考虑泛型。这称为自动概括。它有助于编写通用代码而不会增加复杂性。