Haskell笔记 (六)自定义Types

本文介绍了如何在Haskell中自定义Types和利用Record Syntax简化数据结构的访问。通过示例展示了如何定义一个表示圆的Type,并对比了传统方式与Record Syntax在定义Person类型时的区别,后者能自动生成获取子项的函数,提高了代码的简洁性。
摘要由CSDN通过智能技术生成

前面我们说过了Type和typeclasses,现在,我们来说一说怎么自定义自己的Type和TypeClasses,这东西我们觉得不好理解,其实简单的说,你就把他们看成C语言中的结构体就行了,我们在C语言中自定义结构体实际上就是自定义新的数据类型。

一般的Types自定义

正如C语言中使用typedef struct XXX来自定义结构体,在Haskell中

  • 使用data来自定义Types,比如,我们需要定义一个圆,它由圆心坐标和半价组成,我们可以这样定义:

      data Circle = Circle Float Float Float
    

    前面两个Float表示圆心坐标,后面一个表示半径。

  • deriving (Show)加在声明的后面,那 Haskell 就会自动将该类型至于 Show 类型类之中

Record Syntax

我们按照上面的方式自定义一个Person的结构

data Person = Person String String Int Float String String deriving (Show)

如果我们需要获取这个Person的各个子项的话,我们

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值