入口点 (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 特性,则要编译的最后一个文件中的顶级绑定将用作入口点。

请参见

参考

函数 (F#)

let 绑定 (F#)