F#Unions结构
这是一种有用的数据结构。它有助于存储异构数据。UNION用于表示树数据结构。它提供案例,每个案例由异构数据组成。如果任何情况下都不存在值,则该情况等同于枚举情况。
type type-name = | case-identifier1 [of [ fieldname1 : ] type1 [ * [ fieldname2 : ] type2 ...] | case-identifier2 [of [fieldname3 : ]type3 [ * [ fieldname4 : ]type4 ...] ...
F#创建可区分联合示例
type Calculate = | Add of val1 : float * val2 : float | Square of val1 : int
在上面的代码中,有两种情况 Rectangle 和 Circle,每种情况都有不同的字段集。现在让无涯教程看看如何为这些情况调用和设置值。
let add = Add(val1 = 1.3, val2 = 10.0) let square = Square (1)
F# 可区分联合示例
type Calcualte = | Add of val1 : int * val2 : int | Subtract of val1 : int * val2 : int | Multiply of val1 : int * val2 : int let compute vall = match vall with | Add (val1, val2) -> val1+val2 | Subtract (val1, val2)->val1-val2 | Multiply (val1, val2)->val1*val2 let addition = compute (Add(10,10)) let subtraction = compute (Subtract(20,10)) let multiplication = compute (Multiply(2,5)) printf "Addition = %d\nSubtraction = %d\nMultiplication = %d" addition subtraction multiplication
输出:
Addition = 20 Subtraction = 10 Multiplication = 10
祝学习愉快! (发现内容有误?请选中要编辑的内容 -> 右键 -> 修改 -> 提交!帮助我们改进教程质量)
精选教程推荐
👇 以下精选教程可能对您有帮助,拓展您的技术视野
暂无学习笔记,成为第一个分享的人吧!
您的笔记将帮助成千上万的学习者