F#类型推断

本文概述

  • 参数和返回类型的推断
  • F#参数和返回类型的推断示例
  • 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#自动归纳如果代码未明确指定任何类型, 则编译器将考虑泛型。这称为自动概括。它有助于编写通用代码而不会增加复杂性。

    推荐阅读