13、F 函数式编程中的类型理解

F# 函数式编程中的类型理解

1. 通用函数与类型操作

在 F# 中,我们可以定义通用函数来处理不同类型的数据。例如,下面的代码定义了一个通用的最大公约数函数:

let inline hcf a b =
    hcfGeneric 
        {new INumeric<'T> with
            member ops.Zero = LanguagePrimitives.GenericZero<'T>
            member ops.Subtract(x, y) = x - y
            member ops.LessThan(x, y) = x < y}
        a b

这个 hcf 函数是一个通用的例程,可以用于支持隐式算术运算集的任何类型。而 hcfGeneric 则是一个通用函数,可用于任何显式的算术运算集。

2. .NET 类型的不同种类

在 F# 编程中,类型的使用比简单的类型值映射更为复杂。F# 类型实际上是 .NET 类型,.NET 对不同类型进行了一些区分,这些区分在某些情况下很重要。
- 引用类型和值类型
- 表示方式 System.String 类型的值是指向垃圾回收堆的单个指针,字符串的实际数据存储在堆中,两个 System.String </

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值