当前位置: 首页 > news >正文

【F#学习】记录 Record

记录,record, 是一些字段的集合。使用type关键字来定义一个record。记录的字段需要放置在花括号{}之内,需要明确地声明类型和名称。新建一个记录的实例的时候,必须给所有字段赋值。

定义一个记录的时候,字段必须换行声明,抑或使用分号;隔开。

// 定义一个记录
type Address ={ Street: stringHouseNumber: int }// 创建一个记录的实例
let oldAddress: Address ={ Street = "Main Street"HouseNumber = 17 }// 或者用紧凑的格式书写
type ConciseAddress = { Street: string; HouseNumber: int }
let conciseAddress: ConciseAddress = { Street = "Main Street"; HouseNumber = 17 }

记录是不可变的。可以使用with关键字来拷贝一个记录,并让某些字段获得新的值。

// 拷贝记录,但是获得新的 HouseNumber
let newAddress: Address = { oldAddress with HouseNumber = 86 }
newAddress.Street      // => "Main Street"
newAddress.HouseNumber // => 86

当记录的每一个字段都相等的时候,称这两个记录相等。

可以使用模式匹配来获得记录的字段的值。

let myAddress: Address = { Street = "Broadway"; HouseNumber = 123 }
let { Street = myStreet; HouseNumber = myHouseNumber } = myAddressmatch myAddress with
| { HouseNumber = 1 } -> printfn "First house"
| { HouseNumber = houseNumber; Street = street } -> printfn "House number %d on %s" houseNumber street
// => "House number 123 on Broadway
http://www.zskr.cn/news/10173.html

相关文章:

  • vue2 项目实例 动态路由菜单(四)
  • envoy和nginx的区别
  • 基于自适应差分进化算法的MATLAB实现
  • 【SPIE出版、主题宽泛、快速检索】2025年可持续发展与数字化转型国际学术会议(SDDT 2025)
  • Sping Boot 打包排除相关jar依赖包,CMD 启动方式 pom.xml 说明.
  • langfuse使用的postgresql异机备份和恢复(docker)并进行langfuse版本升级
  • java列队多种实现方式,
  • Ashampoo Music Studio 12.0.3 音频编辑处理
  • Gitee:本土化代码托管平台如何重塑中国开发者协作生态
  • WEB项目引入druid监控配置
  • PyCharm 2025.1安装包下载与安装教程
  • 1. 大模型的选择详细分析 - Rainbow
  • 批量查询设计桩号方法及文件格式
  • 详细介绍:树上LCA和树链剖分(未完待续)
  • 无人机、人形机器人 —— 电池电压(电量)对运行状态的影响
  • freertos.c解析 - 教程
  • 【html组件】简易漫画阅读器
  • 21 C++ 哈希表入门:unordered_set/unordered_map 用法 + 与 set/map 性能 / 迭代器差异全解 - 教程
  • ubuntu安装mysql2
  • 高并发系统核心指标
  • java创建线程池去实现某个任务(多线程)
  • 敏捷已死?2025年项目管理软件支持的混合管理模式正成为新主流!
  • 开源中国社区:AI驱动下的开发者生态革命
  • 日志清理脚本模板 - 一叶舟
  • [原创]《C#高级GDI+实战:从零开发一个流程图》第10章:鼠标拖动完成连线、拖动时实时显示半透明虚线连线效果、自定义连接点样式
  • 马来西亚股票数据API对接文档
  • [OpenGL]相机环境
  • HT-SC4PS-33+:小功分大胃口,300 MHz-3 GHz全场通吃
  • 画面拼接后推流/64路画面同时拼接到一路流/指定程序窗口采集推流/另一种解决方案
  • 软件开发 --- 快速部署web