前面我们说过了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的各个子项的话,我们