个性化阅读
专注于IT技术分析

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#自动归纳

如果代码未明确指定任何类型, 则编译器将考虑泛型。这称为自动概括。它有助于编写通用代码而不会增加复杂性。

赞(0)
未经允许不得转载:srcmini » F#类型推断

评论 抢沙发

评论前必须登录!