F# 命令式编程全解析
1. 数组基础
在 F# 中,数组类型分为值类型数组和引用类型数组。值类型数组(如 int 、 float32 、 float 、 int64 )是连续存储的,整个数组只分配一个对象;而其他类型的数组则存储为对象引用数组。整数和浮点数等基本类型都是值类型,许多其他 .NET 类型也是值类型,.NET 文档会指明每个类型是否为值类型,值类型常使用 struct 表示,也可在 F# 代码中直接定义新的 struct 类型。F# 中的其他类型都是引用类型,如记录、元组、可区分联合、类和接口值。
1.1 数组生成与切片
可以使用“序列表达式”生成有趣的数组值,示例代码如下:
let arr = [|for i in 0 .. 5 -> (i, i * i)|];;
此代码生成的数组 arr 为 [|(0, 0); (1, 1); (2, 4); (3, 9); (4, 16); (5, 25)|] 。
还能使用切片表示法从现有数组中提取子数组,一维数组的切片表达式形式为 arr.[start..finish] ,其中 start 和 finish 可省略,省略时分别默认为数组的第一个元素索引和最后一个元素
超级会员免费看
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



