3.1.2 函数的声明
正如我们在前面提到的,可以使用 let 绑定声明函数。我们用一个相当简单的函数来演示,实现两个参数的相乘。只要在 F# Interactive 中输入:
> let multiply num1 num2 =
num1 * num2;;
val multiply : int -> int –> int
函数声明,必须在符号名的后面跟一个或多个参数名。在这个示例中,函数有两个参数,因此,函数名(multiply)的后跟两个参数(num1 和 num2)。现在,我们再看一下函数体,可以把函数体简单地看成一个一在这个示例中,我表达式,绑定到表示函数名的符号上(这里的 multiply),不同于表示简单值的符号,表示函数时会带参数。
在第二章,我们知道了 F# 中的函数也是值。这就是说,当使用 let 结构,总能创建值;但如果指定了参数,就声明特殊类型的值:函数。从严谨的数学角度来看,普通的值是不带任何参数的函数,也使F# 语法更简单。如果在函数声明中的省略所有的参数,得到的就是简单的值声明。
写函数时,务必保持函数体的缩进正确,这样,就不必使用其他、更明确的方式来表达函数声明的结束,就像使用兼容 OCaml 语法一样。