您已经了解了F#程序的基本结构,因此很容易理解F#编程语言的其他基本构造块。
下表显示了关键字和关键字的简要说明,无涯教程将在后续章节中讨论这些关键字的用法。
关键字 | 说明 |
---|---|
abstract | 表示一个方法,该方法在声明的类型中没有实现。 |
and | 用于相互递归绑定,属性声明中,并且对通用参数具有多个约束。 |
as | 用于给当前类对象一个对象名。 |
asset | 用于在调试过程中验证代码。 |
base | 用作基类对象的名称。 |
begin | 表示代码块的开始。 |
class | 表示类定义的开始。 |
default | 表示抽象方法的实现。 |
delegate | 用于声明委托。 |
do | 用于循环构造或执行命令性代码。 |
done | 表示循环表达式中代码块的结尾。 |
downcast | 用于转换为继承链中较低的类型。 |
downto | 在 for 表达式中,当反向计数时使用。 |
elif | 用于条件分支, if的简短形式。 |
else | 用于条件分支。 |
end | 在类型定义和类型扩展中,指示成员定义部分的结尾。用于指定以begin关键字开头的代码块的结尾。 |
Exception | 用于声明异常类型。 |
extern | 表示在另一个二进制文件或程序集中定义了声明的程序元素。 |
false | 用作布尔类型。 |
finally | 与try引入代码块一起使用,无论是否发生异常,该代码块都会执行。 |
for | 用于循环构造。 |
fun | 用于lambda表达式,也称为匿名函数。 |
function | 用作fun关键字和在单个参数上具有模式匹配的lambda表达式中的match表达式替代。 |
global | 用于引用顶级.NET命名空间。 |
if | 用于条件分支构造中。 |
in | 用于序列表达式,并以冗长的语法将表达式与绑定分开。 |
inherit | 用于指定基类或基接口。 |
inline | 用于指示应直接集成到调用者代码中的功能。 |
interface | 用于声明和实现接口。 |
internal | 用于指定成员在部件内部可见,而在部件外部不可见。 |
lazy | 用于指定仅在需要输出时才执行的计算。 |
let | 用于将名称关联值的函数。 |
let! | 在异步工作流中用于将名称绑定到异步计算的输出,用于将名称绑定到输出的计算类型。 |
match | 用于通过将值与模式进行比较来进行匹配。 |
member | 用于声明对象类型的属性或方法。 |
module | 用于将名称与一组相关的类型,值和函数相关联,以将其与其他代码逻辑上分开。 |
mutable | 用于声明变量,即可以更改的值。 |
namespace | 用于将名称与一组相关的类型和模块相关联,以使其在逻辑上与其他代码分开。 |
new | 用于声明,定义或调用可创建或可以创建对象的构造函数。 还用于通用参数约束,以指示类型必须具有特定的构造函数。 |
not | 实际上不是关键字,但是,不能将struct组合用作通用参数约束。 |
null | 表示没有对象。 也用于通用参数约束。 |
of | 用于有区别的联合以指示值类别的类型,并用于委托和异常声明。 |
open | 用于使命名空间或模块的内容不加限制地可用。 |
or | 与布尔条件一起用作布尔或运算符,等同于||。 |
override | 用于实现与基本版本不同的抽象或虚拟方法。 |
private | 限制只能通过当前对象才能访问。 |
public | 允许从类型外部访问成员。 |
rec | 用于表示函数是递归的。 |
return | 用于表示要提供作为计算表达式输出的值。 |
return! | 用于表示计算表达式,该计算表达式在被判断时提供包含的计算表达式的输出。 |
select | 在查询表达式中用于指定要提取的字段或列。 |
static | 用于表示可以在没有类型的情况下调用的方法或属性共享值。 |
struct | 用于声明结构类型,也用于通用参数约束,用于模块定义中的OCaml兼容性。 |
then | 用于条件表达式。 还用于在对象构建后产生副作用。 |
to | 在for循环中用于指示范围。 |
true | 用作布尔类型。 |
try | 用于引入可能会生成异常的代码块,与 with 一起使用,或者最终与一起使用。 |
type | 用于声明类,记录,结构,已区分的并集,枚举类型,度量单位或类型缩写。 |
upcast | 用于转换为继承链中更高的类型。 |
use | 用于代替需要调用Dispose释放资源的值。 |
use! | 用于代替let!异步工作流和其他计算表达式中需要需要调用Dispose以释放资源的值。 |
val | 用于声明成员的类型。 |
void | 指示.NET无效类型,与其他.NET语言进行互操作时使用。 |
when | 用于模式匹配时的布尔条件,并为通用类型参数引入约束子句。 |
while | 介绍了一个循环结构。 |
with | 与模式匹配表达式中的match关键字一起使用。 |
yield | 用于序列表达式以产生序列值。 |
yield! | 用于计算表达式中,将给定计算表达式的输出附加到包含该计算表达式的输出集合中。 |
一些保留的关键字来自OCaml语言-
asr | land | lor | lsl | lsr | lxor | mod | sig |
保留其他一些保留关键字,以供将来F#扩展之用。
atomic | break | checked | component | const | constraint | constructor |
continue | eager | event | external | fixed | functor | include |
method | mixin | object | parallel | process | protected | pure |
sealed | tailcall | trait | virtual | volatile |
F#提供两种类型的注释-
链接:https://www.learnfk.comhttps://www.learnfk.com/fsharp/fsharp-basic-syntax.html
来源:LearnFk无涯教程网
通常,对于F#程序,您没有任何明确的入口点,编译F#应用程序时,提供给编译器的最后一个文件将成为入口点,并且该文件中所有语句都将自上而下执行。
编写良好的程序应具有单个顶级语句,该语句将调用程序的主循环。
一个非常简约的F#程序,它将在屏幕上显示" Hello Learnfk"-
(* This is a comment *) (* Sample Hello Learnfk program using F# *) printfn "Hello Learnfk!"
编译并执行程序时,将产生以下输出-
Hello Learnfk!
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)