入口点 (F#)
本主题介绍可用于设置 F# 程序的入口点的方法。
[<EntryPoint>]
let-function-binding
备注
在前面的语法中,let-function-binding 是 let 绑定中某个函数的定义。
编译为可执行文件的程序的入口点是正式开始执行的位置。 可以通过将 EntryPoint 特性应用到程序的 main 函数,指定 F# 应用程序的入口点。 使用 let 绑定创建的此函数必须是最后编译的文件中的最后一个函数。 最后编译的文件是项目中的最后一个文件,或者是传递给命名行的最后一个文件。
入口点函数的类型为 string array -> int。 命令行上提供的参数将以字符串数组的形式传递给 main 函数。 数组的第一个元素是第一个参数;与在其他一些语言中一样,数组中不包含可执行文件的名称。 返回值将用作进程的退出代码。 零值通常指示成功;非零值指示错误。 没有对非零返回代码的特定含义的约定;返回代码的含义将因应用程序而异。
下面的示例演示一个简单的 main 函数。
[<EntryPoint>]
let main args =
printfn "Arguments passed to function : %A" args
// Return 0. This indicates success.
0
当通过命令行 EntryPoint.exe 1 2 3 执行此代码时,输出如下所示。
Arguments passed to function : [|"1"; "2"; "3"|]
隐式入口点
如果程序不具有显式指示入口点的 EntryPoint 特性,则要编译的最后一个文件中的顶级绑定将用作入口点。