erlang数据类型

erlang相关书籍网盘分享下载:https://blog.csdn.net/weixin_40352578/article/details/82944159

1.变量

(1)erlang里面的变量是大写字母开头的。

(2)X=1.其中”=“不是赋值操作,是模式匹配运算符,erlang中变量绑定之后,不可二0次绑定。可以使用f(X)解除绑定。

(3)变量的词法单元为变量的作用域。不同函数中的X是独立的。

拓展:模式匹配

Lhs=Rhs:对右边求值,然后将结果与左端的进行模式匹配。编译器会尝试使用Rhs去匹配Lhs,如果可以匹配返回匹配后的结果,否则产生错误。注意区分赋值操作!

作用:模式匹配可以从数据结构中提取字段,函数中进行流程控制,当向进程发送消息是,筛选出合法消息。

单一赋值的好处:

(1)有利于程序并行化,内存不可变状态,减少共享内存带来的不方便。

(2)有利于查错。

2.浮点数

浮点数有五部分组成:一个可选符 号位,一个数值部分,一个小数点,,一个小数部分以及可选的指数部分(必须含有小数点和小数点后至少一位十进制数)。“/”返回浮点数。

3.原子

 原子是一串以小写字母开头,后跟数字字母或下划线(_)邮件符号(@)的字符组成。有点类似与宏定义,不同的宏定义执行不同的语句,再erlang中原子主要用于不同的原子执行不同的语句。

4.元组

元组由一定数目的项组成。

特点:

1.元组如果不使用,由Erlang的垃圾回收器回收。

2.元组中的变量必须绑定,负责出错。

3.通常使用一个原子标记元组代表的含义。并给字段赋值。

4.通过模式匹配可以从元组中提取字段值。

5.列表

由若干个以逗号分隔的值用方括号括起来形成列表。

特点:

1.所有的列表处理函数都是从列表头开始的。(底层是链表实现的)

2.如果T是一个列表,那么[H|T]也是个链表。

3.可通过模式匹配 [X|Y]=L,将列表中的头X和尾Y提取出来。

6.字符串

字符串由双引号括起来,字符串实际上是整数列表。

特点:

1.shell打印一串列表值,只有列表中每个元素都是相应字符的整数值。才打印字符串。

2.$a表示字符a的整数

3.字符串中的字符集只有终端能够显示能够满足要求时,才能够正确显示。

7.整型

(1)K进制整数K#Digits,如:2#10010.

(2)$语法:$a是97简写。

猜你喜欢

转载自blog.csdn.net/weixin_40352578/article/details/79470861
今日推荐