关键字参考 (F#)
本主题包含指向有关所有 F# 语言关键字的信息的链接。
F# 关键字表
下表按字母顺序显示所有 F# 关键字,并提供了简短说明和指向包含更多信息的相关主题的链接。
关键字 |
链接 |
说明 |
---|---|---|
abstract |
指示一个方法,该方法在声明它的类型中没有任何实现,或者该方法是一个虚方法并具有默认实现。 |
|
and |
在互相递归绑定中和属性声明中使用,并与泛型形参的多个约束一起使用。 |
|
as |
用于为当前类对象给定一个对象名称。 还用于为模式匹配中的整个模式给定一个名称。 |
|
assert |
用于在调试过程中验证代码。 |
|
base |
用作基类对象的名称。 |
|
begin |
在详细语法中,指示代码块的开头。 |
|
class |
在详细语法中,指示类定义的开头。 |
|
default |
指示抽象方法的实现;与抽象方法声明一起使用可创建虚方法。 |
|
delegate |
用于声明委托。 |
|
do |
在循环构造中使用或用于执行命令性代码。 |
|
done |
在详细语法中,指示循环表达式中的代码块的结尾。 |
|
downcast |
用于转换为继承链中更低层的类型。 |
|
downto |
在 for 表达式中,当进行反向计数时使用。 |
|
elif |
在条件分支中使用。 else if 的缩写形式。 |
|
else |
在条件分支中使用。 |
|
end |
在类型定义和类型扩展中,指示成员定义的一个部分的结尾。 在详细语法中,用于指定以 begin 关键字开头的代码块的结尾。 |
|
exception |
用于声明异常类型。 |
|
extern |
指示在另一个二进制文件或程序集中定义一个已声明的程序元素。 |
|
false |
用作布尔文本。 |
|
finally |
与 try 一起使用以引入要执行的代码块(不管是否发生了异常)。 |
|
for |
在循环构造中使用。 |
|
fun |
在 lambda 表达式中使用,也称作匿名函数。 |
|
function |
在具有针对单个参数的模式匹配的 lambda 表达式中,用作 fun 关键字和 match 表达式的更简短的替代。 |
|
global |
用于引用顶级 .NET 命名空间。 |
|
if |
在条件分支构造中使用。 |
|
in |
用于序列表达式,并且在详细语法中,用于将表达式与绑定分离。 |
|
inherit |
用于指定基类或基接口。 |
|
inline |
用于指示一个应直接集成到调用方代码中的函数。 |
|
interface |
用于声明和实现接口。 |
|
internal |
用于指定一个成员在程序集内部可见,但在程序集外部不可见。 |
|
lazy |
用于指定一个仅在需要结果时才执行的计算。 |
|
let |
用于将一个名称关联或绑定到一个值或函数。 |
|
match |
用于通过将值与模式进行比较来进行分支。 |
|
member |
用于在对象类型中声明属性或方法。 |
|
module |
用于将一个名称与一组相关类型、值或函数关联,以便从逻辑上将该名称与其他代码分离。 |
|
mutable |
用于声明一个变量(即一个可更改的值)。 |
|
namespace |
用于将一个名称与一组相关类型和模块关联,以便从逻辑上将该名称与其他代码分离。 |
|
new |
用于声明、定义或调用一个创建或可创建对象的构造函数。 另外,在泛型形参约束中使用此关键字可指示类型必须具有某个构造函数。 |
|
not |
实际上并不是一个关键字。 但组合的 not struct 将用作泛型形参约束。 |
|
null |
指示缺少对象。 还在泛型形参约束中使用。 |
|
of |
在可区分联合中使用可指示值类别的类型,而且可以在委托和异常声明中使用。 |
|
open |
用于使命名空间或模块的内容可用而不用进行限定。 |
|
or |
与布尔条件一起用作布尔 or 运算符。 等效于 ||。 还在成员约束中使用。 |
|
override |
用于实现与基版本不同的某个版本的抽象方法或虚方法。 |
|
private |
限制只有同一类型或模块中的代码才可以访问成员。 |
|
public |
允许从类型外部访问成员。 |
|
rec |
用于指示函数是递归函数。 |
|
return |
用于指示要作为计算表达式的结果提供的值。 |
|
static |
用于指示可在不使用某个类型的实例的情况下调用的方法或属性,或指示在某个类型的所有实例中共享的值成员。 |
|
struct |
用于声明结构类型。 还在泛型形参约束中使用。 用于在模块定义中实现 OCaml 兼容性。 |
|
then |
在条件表达式中使用。 还用于表现对象构造后的副作用。 |
|
to |
在 for 循环中用于指示一个范围。 |
|
true |
用作布尔文本。 |
|
try |
用于引入可能会生成异常的代码块。 与 with 或 finally 一起使用。 |
|
type |
用于声明类、记录、结构、可区分联合、枚举类型、度量单位或类型缩写。 |
|
upcast |
用于转换为继承链中更高层的类型。 |
|
use |
用于代替为值的 let,这些值要求调用 Dispose 以释放资源。 |
|
val |
在签名中用于指示值,或在受限制情况下,在类型中用于声明成员。 |
|
void |
指示 .NET void 类型。 在与其他 .NET 语言进行互操作时使用。 |
|
when |
用于模式匹配中的布尔条件(when 先决条件),并用于为泛型类型参数引入约束子句。 |
|
while |
引入循环构造。 |
|
with |
在模式匹配表达式中与 match 关键字一起使用。 还在对象表达式、记录复制表达式和类型扩展中用于引入成员定义,并用于引入异常处理程序。 |
|
yield |
在序列表达式中用于为序列生成值。 |
此外,F# 中将保留以下标记,因为这些标记是 OCaml 语言中的关键字:
asr |
land |
lor |
lsl |
lsr |
lxor |
mod |
sig |
如果使用 --mlcompatibility 编译器选项,则可将这些关键字用作标识符。
以下标记将作为关键字保留以便将来扩展 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 |