文本 (F#)
本主题提供了一个表,该表显示如何指定 F# 中文本的类型。
文本类型
下表显示了 F# 中的文本类型。 以十六进制表示法表示数字的字符不区分大小写;标识类型的字符区分大小写。
类型 |
描述 |
后缀或前缀 |
示例 |
---|---|---|---|
sbyte |
有符号 8 位整数 |
y |
86y 0b00000101y |
byte |
无符号 8 位自然数 |
uy |
86uy 0b00000101uy |
int16 |
有符号 16 位整数 |
s |
86s |
uint16 |
无符号 16 位自然数 |
us |
86us |
int int32 |
有符号 32 位整数 |
l 或 none |
86 86l |
uint uint32 |
无符号 32 位自然数 |
u 或 ul |
86u 86ul |
unativeint |
无符号自然数形式的本机指针 |
un |
0x00002D3Fun |
int64 |
有符号 64 位整数 |
L |
86L |
uint64 |
无符号 64 位自然数 |
UL |
86UL |
single, float32 |
32 位浮点数 |
F 或 f |
4.14F 或 4.14f |
lf |
0x00000000lf |
||
float; double |
64 位浮点数 |
无 |
4.14 或 2.3E+32 或 2.3e+32 |
LF |
0x0000000000000000LF |
||
bigint |
未限制为 64 位表示形式的整数 |
I |
9999999999999999999999999999I |
decimal |
表示为定点数或有理数的分数 |
M 或 m |
0.7833M 或 0.7833m |
Char |
Unicode 字符 |
无 |
'a' |
字符串 |
Unicode 字符串 |
无 |
"text\n" 或 @"c:\filename" 或 """<book title="Paradise Lost">""" 或 "string1" + "string2" 另请参见字符串 (F#)。 |
byte |
ASCII 字符 |
B |
'a'B |
byte[] |
ASCII 字符串 |
B |
"text"B |
String 或 byte[] |
原义字符串 |
@ 前缀 |
@"\\server\share" (Unicode) @"\\server\share"B (ASCII) |
备注
Unicode 字符串可包含显式编码(可通过使用后跟 16 位十六进制代码的 \u 指定),也可包含 UTF-32 编码(可通过使用后跟表示 Unicode 代理项对的 32 位十六进制代码的 \U 指定)。
自 F# 3.1,您可以使用 + 符号合并字符串文本。 也可使用位或 (|||) 运算符来组合枚举标志。 例如,以下代码在 F# 3.1 中合法:
[<Literal>]
let literal1 = "a" + "b"
[<Literal>]
let fileLocation = __SOURCE_DIRECTORY__ + "/" + __SOURCE_FILE__
[<Literal>]
let literal2 = 1 ||| 64
[<Literal>]
let literal3 = System.IO.FileAccess.Read ||| System.IO.FileAccess.Write
不允许使用其他按位运算符。
命名文字
预期为常量的值可以用文字属性进行标记。 此属性具有使一个值按常数进行编译的效果。
在匹配表达式的模式中,以小写字母开头的标识符都被视为要绑定的变量,而不是文字,因此一般情况下您应使用首字母大写定义文字。