您可能希望存储各种数据类型的信息,例如string,character,wide character,integer,floating point,Boolean 等,系统根据变量的数据类型分配内存。
内置数据类型
Erlang提供了多种内置数据类型,以下是在Erlang中定义的数据类型的列表-
Number - 在Erlang中,它们是integers和floats。
Atom - 常量,如果atom不是以小写字母开头,或者包含字母数字字符,下划线(_)或@以外的其他字符,则将其括在单引号(')中。
Boolean - 布尔类型,只有两个值: true和false。
Bit String - 位字节存储
Tuple - 元组是具有固定数量项的复合数据类型。
Map - 映射是一种复合数据类型,具有可变数量的键-值关联。
List - 列表是具有可变项数的复合数据类型。
注意-您会惊讶地发现在上面列表中的任何地方都看不到字符串String类型,那是因为没有在Erlang中专门定义的字符串数据类型。
以下是如何使用每种数据类型的示例,同样,每种数据类型将在随后的章节中详细讨论,这只是为了让您熟悉上述数据类型的简要说明。
Number 数字类型
以下程序显示了如何使用数字数据类型的示例。该程序显示了2个整数的加法。
-module(helloLearnfk). -export([start/0]). start() -> io:fwrite("~w",[1+1]).
上面程序的输出将是-
2
ATom 原子类型
Atoms应以小写字母开头,并且可以包含小写和大写字符,数字,下划线(_)和“ at”符号(@)。
以下程序显示了如何使用原子数据类型的示例。在这个程序中,我们正在创建一个名为 atom1 的原子。
-module(helloLearnfk). -export([start/0]). start() -> io:fwrite(aLearnfk1).
上面程序的输出将是-
aLearnfk1
Boolean 布尔类型
以下程序显示了如何使用布尔数据类型的示例。
-module(helloLearnfk). -export([start/0]). start() -> io:fwrite(2 =< 3).
上面程序的输出将是-
true
Bit String 位串类型
以下程序显示了如何使用位字符串数据类型的示例。binary_to_list是用Erlang定义的内置函数,可用于将位字符串转换为列表。
-module(helloLearnfk). -export([start/0]). start() -> Bin1=<<10,20>>, X=binary_to_list(Bin1), io:fwrite("~w",[X]).
上面程序的输出将是-
[10,20]
Tuple 元组类型
tuple_size 是用Erlang定义的内置函数,可用于确定元组的大小。
-module(helloLearnfk). -export([start/0]). start() -> P={john,24,{june,25}} , io:fwrite("~w",[tuple_size(P)]).
上面程序的输出将是-
3
Map 映射类型
map_size 是用Erlang定义的内置函数,可用于确定Map的大小。
-module(helloLearnfk). -export([start/0]). start() -> M1=#{name=>john,age=>25}, io:fwrite("~w",[map_size(M1)]).
上面程序的输出将是-
2
List 列表类型
length是用Erlang定义的内置函数,可用于确定列表的大小。
-module(helloLearnfk). -export([start/0]). start() -> L=[10,20,30] , io:fwrite("~w",[length(L)]).
上面程序的输出将是-
3
参考链接
https://www.learnfk.com/erlang/erlang-data-types.html
标签:fwrite,数据类型,无涯,module,start,Erlang,helloLearnfk From: https://blog.51cto.com/u_14033984/8657930