数据类型
在任何编程语言中,您都需要使用多个变量来存储各种类型的信息。 变量只是用于存储值的保留内存位置。 这意味着当您创建变量时,您在内存中保留一些空间以存储与该变量关联的值。
您可能希望存储各种数据类型的信息,如字符串,字符,宽字符,整数,浮点,布尔值等。根据变量的数据类型,操作系统分配内存并决定可以在保留中存储的内容记忆。
(类型)
Erlang提供各种内置数据类型。 以下是Erlang中定义的数据类型列表 -
Number - 在Erlang中,有两种类型的数字文字,它们是整数和浮点数。
Atom - 原子是文字,是名称的常量。 如果原子不是以小写字母开头,或者如果它包含除字母数字字符,下划线(_)或@之外的其他字符,则用单引号(')括起来。
Boolean - Erlang中的布尔数据类型是两个保留的原子:true和false。
Bit String - 位串用于存储未键入内存的区域。
Tuple - 元组是具有固定数量项的复合数据类型。 元组中的每个Term都被称为元素。 元素的数量被认为是元组的大小。
Map - 映射是具有可变数量的键 - 值关联的复合数据类型。 映射中的每个键值关联称为关联对。 该对的键和值部分称为元素。 关联对的数量被称为地图的大小。
List - 列表是具有可变数量的术语的复合数据类型。 列表中的每个术语称为元素。 元素的数量被称为列表的长度。
Note - 您会惊讶地发现在上面的列表中的任何位置都看不到String类型。 那是因为Erlang中没有专门定义的字符串数据类型。 但是我们将在后续章节中看到如何使用字符串。
以下是如何使用每种数据类型的示例。 同样,每个数据类型将在随后的章节中详细讨论。 这只是为了让您熟悉上述数据类型的简要说明。
Number
以下程序显示了如何使用数字数据类型的示例。 该程序显示添加2个整数。
Example
-module(helloworld).
-export([start/0]).
start() ->
io:fwrite("~w",[1+1]).
上述计划的输出将是 -
Output
2
Atom
原子应以小写字母开头,可以包含小写和大写字符,数字,下划线(_)和“at”符号(@) 。 我们也可以用单引号括起原子。
以下程序显示了如何使用原子数据类型的示例。 在这个程序中,我们创建了一个名为atom1的原子。
Example
-module(helloworld).
-export([start/0]).
start() ->
io:fwrite(atom1).
上述计划的输出将是 -
Output
atom1
Boolean
以下程序中显示了如何使用布尔数据类型的示例。 此示例对2个整数进行比较,并将结果布尔值打印到控制台。
Example
-module(helloworld).
-export([start/0]).
start() ->
io:fwrite(2 =< 3).
上述计划的输出将是 -
Output
true
位串
以下程序中显示了如何使用位串数据类型的示例。 该程序定义了一个由2位组成的位串。 binary_to_list是Erlang中定义的内置函数,可用于将位字符串转换为列表。
Example
-module(helloworld).
-export([start/0]).
start() ->
Bin1 = <<10,20>>,
X = binary_to_list(Bin1),
io:fwrite("~w",[X]).
上述计划的输出将是 -
Output
[10,20]
Tuple
以下程序中显示了如何使用元组数据类型的示例。
这里我们定义一个有3个术语的Tuple P tuple_size是Erlang中定义的内置函数,可用于确定元组的大小。
Example
-module(helloworld).
-export([start/0]).
start() ->
P = {john,24,{june,25}} ,
io:fwrite("~w",[tuple_size(P)]).
上述计划的输出将是 -
Output
3
地图
以下程序中显示了如何使用Map数据类型的示例。
这里我们定义一个有两个映射的Map M1 。 map_size是Erlang中定义的内置函数,可用于确定地图的大小。
Example
-module(helloworld).
-export([start/0]).
start() ->
M1 = #{name=>john,age=>25},
io:fwrite("~w",[map_size(M1)]).
上述计划的输出将是 -
Output
2
List
以下程序中显示了如何使用List数据类型的示例。
这里我们定义一个包含3个项目的List L 长度是Erlang中定义的内置函数,可用于确定列表的大小。
Example
-module(helloworld).
-export([start/0]).
start() ->
L = [10,20,30] ,
io:fwrite("~w",[length(L)]).
上述计划的输出将是 -
Output
3