关键字参考 (F#)

本主题包含指向有关所有 F# 语言关键字的信息的链接。

F# 关键字表

下表按字母顺序显示所有 F# 关键字,并提供了简短说明和指向包含更多信息的相关主题的链接。

关键字

链接

说明

abstract

成员 (F#)

抽象类 (F#)

指示一个方法,该方法在声明它的类型中没有任何实现,或者该方法是一个虚方法并具有默认实现。

and

let 绑定 (F#)

成员 (F#)

约束 (F#)

在互相递归绑定中和属性声明中使用,并与泛型形参的多个约束一起使用。

as

类 (F#)

模式匹配 (F#)

用于为当前类对象给定一个对象名称。 还用于为模式匹配中的整个模式给定一个名称。

assert

断言 (F#)

用于在调试过程中验证代码。

base

类 (F#)

继承 (F#)

用作基类对象的名称。

begin

详细语法 (F#)

在详细语法中,指示代码块的开头。

class

类 (F#)

在详细语法中,指示类定义的开头。

default

成员 (F#)

指示抽象方法的实现;与抽象方法声明一起使用可创建虚方法。

delegate

委托 (F#)

用于声明委托。

do

do 绑定 (F#)

循环:for...to 表达式 (F#)

循环:for...in 表达式 (F#)

循环:while...do 表达式 (F#)

在循环构造中使用或用于执行命令性代码。

done

详细语法 (F#)

在详细语法中,指示循环表达式中的代码块的结尾。

downcast

强制转换和转换 (F#)

用于转换为继承链中更低层的类型。

downto

循环:for...to 表达式 (F#)

在 for 表达式中,当进行反向计数时使用。

elif

条件表达式:if... then...else (F#)

在条件分支中使用。 else if 的缩写形式。

else

条件表达式:if... then...else (F#)

在条件分支中使用。

end

结构 (F#)

可区分联合 (F#)

记录 (F#)

类型扩展 (F#)

详细语法 (F#)

在类型定义和类型扩展中,指示成员定义的一个部分的结尾。

在详细语法中,用于指定以 begin 关键字开头的代码块的结尾。

exception

异常处理 (F#)

异常类型 (F#)

用于声明异常类型。

extern

外部函数 (F#)

指示在另一个二进制文件或程序集中定义一个已声明的程序元素。

false

基元类型 (F#)

用作布尔文本。

finally

异常:try...finally 表达式 (F#)

与 try 一起使用以引入要执行的代码块(不管是否发生了异常)。

for

循环:for...to 表达式 (F#)

循环:for...in 表达式 (F#)

在循环构造中使用。

fun

Lambda 表达式:fun 关键字 (F#)

在 lambda 表达式中使用,也称作匿名函数。

function

match 表达式 (F#)

Lambda 表达式:fun 关键字 (F#)

在具有针对单个参数的模式匹配的 lambda 表达式中,用作 fun 关键字和 match 表达式的更简短的替代。

global

命名空间 (F#)

用于引用顶级 .NET 命名空间。

if

条件表达式:if... then...else (F#)

在条件分支构造中使用。

in

循环:for...in 表达式 (F#)

详细语法 (F#)

用于序列表达式,并且在详细语法中,用于将表达式与绑定分离。

inherit

继承 (F#)

用于指定基类或基接口。

inline

函数 (F#)

内联函数 (F#)

用于指示一个应直接集成到调用方代码中的函数。

interface

接口 (F#)

用于声明和实现接口。

internal

访问控制 (F#)

用于指定一个成员在程序集内部可见,但在程序集外部不可见。

lazy

延迟计算 (F#)

用于指定一个仅在需要结果时才执行的计算。

let

let 绑定 (F#)

用于将一个名称关联或绑定到一个值或函数。

match

match 表达式 (F#)

用于通过将值与模式进行比较来进行分支。

member

成员 (F#)

用于在对象类型中声明属性或方法。

module

模块 (F#)

用于将一个名称与一组相关类型、值或函数关联,以便从逻辑上将该名称与其他代码分离。

mutable

let 绑定 (F#)

用于声明一个变量(即一个可更改的值)。

namespace

命名空间 (F#)

用于将一个名称与一组相关类型和模块关联,以便从逻辑上将该名称与其他代码分离。

new

构造函数 (F#)

约束 (F#)

用于声明、定义或调用一个创建或可创建对象的构造函数。

另外,在泛型形参约束中使用此关键字可指示类型必须具有某个构造函数。

not

符号和运算符参考 (F#)

约束 (F#)

实际上并不是一个关键字。 但组合的 not struct 将用作泛型形参约束。

null

Null 值 (F#)

约束 (F#)

指示缺少对象。

还在泛型形参约束中使用。

of

可区分联合 (F#)

委托 (F#)

异常类型 (F#)

在可区分联合中使用可指示值类别的类型,而且可以在委托和异常声明中使用。

open

导入声明:open 关键字 (F#)

用于使命名空间或模块的内容可用而不用进行限定。

or

符号和运算符参考 (F#)

约束 (F#)

与布尔条件一起用作布尔 or 运算符。 等效于 ||。

还在成员约束中使用。

override

成员 (F#)

用于实现与基版本不同的某个版本的抽象方法或虚方法。

private

访问控制 (F#)

限制只有同一类型或模块中的代码才可以访问成员。

public

访问控制 (F#)

允许从类型外部访问成员。

rec

函数 (F#)

用于指示函数是递归函数。

return

异步工作流 (F#)

计算表达式 (F#)

用于指示要作为计算表达式的结果提供的值。

static

成员 (F#)

用于指示可在不使用某个类型的实例的情况下调用的方法或属性,或指示在某个类型的所有实例中共享的值成员。

struct

结构 (F#)

约束 (F#)

用于声明结构类型。

还在泛型形参约束中使用。

用于在模块定义中实现 OCaml 兼容性。

then

条件表达式:if... then...else (F#)

构造函数 (F#)

在条件表达式中使用。

还用于表现对象构造后的副作用。

to

循环:for...to 表达式 (F#)

在 for 循环中用于指示一个范围。

true

基元类型 (F#)

用作布尔文本。

try

异常:try...with 表达式 (F#)

异常:try...finally 表达式 (F#)

用于引入可能会生成异常的代码块。 与 with 或 finally 一起使用。

type

F# 类型

类 (F#)

记录 (F#)

结构 (F#)

枚举 (F#)

可区分联合 (F#)

类型缩写 (F#)

度量单位 (F#)

用于声明类、记录、结构、可区分联合、枚举类型、度量单位或类型缩写。

upcast

强制转换和转换 (F#)

用于转换为继承链中更高层的类型。

use

资源管理:use 关键字 (F#)

用于代替为值的 let,这些值要求调用 Dispose 以释放资源。

val

显式字段:val 关键字 (F#)

签名 (F#)

成员 (F#)

在签名中用于指示值,或在受限制情况下,在类型中用于声明成员。

void

基元类型 (F#)

指示 .NET void 类型。 在与其他 .NET 语言进行互操作时使用。

when

约束 (F#)

用于模式匹配中的布尔条件(when 先决条件),并用于为泛型类型参数引入约束子句。

while

循环:while...do 表达式 (F#)

引入循环构造。

with

match 表达式 (F#)

对象表达式 (F#)

类型扩展 (F#)

异常:try...with 表达式 (F#)

在模式匹配表达式中与 match 关键字一起使用。 还在对象表达式、记录复制表达式和类型扩展中用于引入成员定义,并用于引入异常处理程序。

yield

序列 (F#)

在序列表达式中用于为序列生成值。

此外,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

请参见

参考

符号和运算符参考 (F#)

其他资源

F# 语言参考

编译器选项 (F#)