Erlang - 数据类型

Erlang - 数据类型 首页 / Erlang入门教程 / Erlang - 数据类型

您可能希望存储各种数据类型的信息,例如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定义的内置函数,可用于确定列表的大小。

链接:https://www.learnfk.comhttps://www.learnfk.com/erlang/erlang-data-types.html

来源:LearnFk无涯教程网

-module(helloLearnfk). 
-export([start/0]). 

start() -> 
   L=[10,20,30] , 
   io:fwrite("~w",[length(L)]).

上面程序的输出将是-

无涯教程网

3

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

趣谈网络协议 -〔刘超〕

快速上手Kotlin开发 -〔张涛〕

大规模数据处理实战 -〔蔡元楠〕

Spring Boot与Kubernetes云原生微服务实践 -〔杨波〕

Kafka核心源码解读 -〔胡夕〕

物联网开发实战 -〔郭朝斌〕

程序员的测试课 -〔郑晔〕

零基础实战机器学习 -〔黄佳〕

Web漏洞挖掘实战 -〔王昊天〕

好记忆不如烂笔头。留下您的足迹吧 :)