- F# 基础教程
- F# - 主页
- F# - 概述
- F# - 环境设置
- F# - 程序结构
- F# - 基本语法
- F# - 数据类型
- F# - 变量
- F# - 运算符
- F# - 决策
- F# - 循环
- F# - 函数
- F# - 字符串
- F# - 选项
- F# - 元组
- F# - 记录
- F# - 列表
- F# - 序列
- F# - 集
- F# - 地图
- F# - 受歧视的工会
- F# - 可变数据
- F# - 数组
- F# - 可变列表
- F# - 可变字典
- F# - 基本 I/O
- F# - 泛型
- F# - 代表
- F# - 枚举
- F# - 模式匹配
- F# - 异常处理
- F# - 类
- F# - 结构
- F# - 运算符重载
- F# - 继承
- F# - 接口
- F# - 事件
- F# - 模块
- F# - 命名空间
- F# 有用资源
- F# - 快速指南
- F# - 有用的资源
- F# - 讨论
F# - 数据类型
F# 中的数据类型可分类如下 -
- 整体型
- 浮点类型
- 文本类型
- 其他类型
整体数据类型
下表提供了 F# 的整数数据类型。这些基本上是整数数据类型。
F# 类型 | 尺寸 | 范围 | 例子 | 评论 |
---|---|---|---|---|
斯字节 | 1字节 | -128 至 127 | 42岁 -11年 |
8 位有符号整数 |
字节 | 1字节 | 0 至 255 | 42uy 200uy |
8 位无符号整数 |
整型16 | 2字节 | -32768至32767 | 42秒 -11s |
16 位有符号整数 |
uint16 | 2字节 | 0 至 65,535 | 42us 200us |
16 位无符号整数 |
整数/int32 | 4字节 | -2,147,483,648 至 2,147,483,647 | 42 -11 |
32 位有符号整数 |
uint32 | 4字节 | 0 至 4,294,967,295 | 42u 200u |
32 位无符号整数 |
整型64 | 8字节 | -9,223,372,036,854,775,808 至 9,223,372,036,854,775,807 | 42升 -11L |
64 位有符号整数 |
uint64 | 8字节 | 0 至 18,446,744,073,709,551,615 | 42UL 200UL |
64 位无符号整数 |
大整数 | 至少 4 个字节 | 任意整数 | 42I 1499999 9999999 9999999 9999999 9999I |
任意精度整数 |
例子
(* single byte integer *) let x = 268.97f let y = 312.58f let z = x + y printfn "x: %f" x printfn "y: %f" y printfn "z: %f" z (* unsigned 8-bit natural number *) let p = 2uy let q = 4uy let r = p + q printfn "p: %i" p printfn "q: %i" q printfn "r: %i" r (* signed 16-bit integer *) let a = 12s let b = 24s let c = a + b printfn "a: %i" a printfn "b: %i" b printfn "c: %i" c (* signed 32-bit integer *) let d = 212l let e = 504l let f = d + e printfn "d: %i" d printfn "e: %i" e printfn "f: %i" f
当您编译并执行该程序时,它会产生以下输出 -
x: 1 y: 2 z: 3 p: 2 q: 4 r: 6 a: 12 b: 24 c: 36 d: 212 e: 504 f: 716
浮点数据类型
下表提供了 F# 的浮点数据类型。
F# 类型 | 尺寸 | 范围 | 例子 | 评论 |
---|---|---|---|---|
浮动32 | 4字节 | ±1.5e-45 至 ±3.4e38 | 42.0F -11.0F |
32 位有符号浮点数(7 位有效数字) |
漂浮 | 8字节 | ±5.0e-324 至 ±1.7e308 | 42.0 -11.0 |
64 位有符号浮点数(15-16 位有效数字) |
小数 | 16字节 | ±1.0e-28 至 ±7.9e28 | 42.0M -11.0M |
128 位有符号浮点数(28-29 位有效数字) |
大理性 | 至少 4 个字节 | 任意有理数。 | 42N -11N |
任意精度有理数。使用此类型需要引用 FSharp.PowerPack.dll。 |
例子
(* 32-bit signed floating point number *) (* 7 significant digits *) let d = 212.098f let e = 504.768f let f = d + e printfn "d: %f" d printfn "e: %f" e printfn "f: %f" f (* 64-bit signed floating point number *) (* 15-16 significant digits *) let x = 21290.098 let y = 50446.768 let z = x + y printfn "x: %g" x printfn "y: %g" y printfn "z: %g" z
当您编译并执行该程序时,它会产生以下输出 -
d: 212.098000 e: 504.768000 f: 716.866000 x: 21290.1 y: 50446.8 z: 71736.9
文本数据类型
下表提供了 F# 的文本数据类型。
F# 类型 | 尺寸 | 范围 | 例子 | 评论 |
---|---|---|---|---|
字符 | 2字节 | U+0000 到 U+ffff | 'X' '\t' |
单个 unicode 字符 |
细绳 | 20 + (2 * 字符串长度) 字节 | 0 到约 20 亿个字符 | “你好” “世界” |
统一码文本 |
例子
let choice = 'y' let name = "Zara Ali" let org = "Tutorials Point" printfn "Choice: %c" choice printfn "Name: %s" name printfn "Organisation: %s" org
当您编译并执行该程序时,它会产生以下输出 -
Choice: y Name: Zara Ali Organisation: Tutorials Point
其他数据类型
下表提供了 F# 的一些其他数据类型。
F# 类型 | 尺寸 | 范围 | 例子 | 评论 |
---|---|---|---|---|
布尔值 | 1字节 | 只有两个可能的值,true 或 false | 真的 错误的 |
存储布尔值 |
例子
let trueVal = true let falseVal = false printfn "True Value: %b" (trueVal) printfn "False Value: %b" (falseVal)
当您编译并执行该程序时,它会产生以下输出 -
True Value: true False Value: false