📜  Elixir-数据类型

📅  最后修改于: 2020-11-04 05:23:24             🧑  作者: Mango


要使用任何语言,您需要了解该语言支持的基本数据类型。在本章中,我们将讨论Elixir语言支持的7种基本数据类型:整数,浮点数,布尔值,原子,字符串,列表和元组。

数值类型

与其他任何编程语言一样,Elixir也支持整数和浮点数。如果打开长生不老药外壳并输入任何整数或浮点数作为输入,它将返回其值。例如,

42

运行上述程序时,将产生以下结果-

42

您也可以以八进制,十六进制和二进制基数定义数字。

八进制

要以八进制为单位定义数字,请在数字前加上“ 0o”。例如,八进制的0o52等于十进制的42。

十六进制

要以十进制为基数定义数字,请在其前面加上“ 0x”。例如,十六进制的0xF1等于十进制的241。

二元

要以二进制为基础定义数字,请在其前面加上“ 0b”。例如,二进制的0b1101等于十进制的13。

Elixir支持浮点数的64位双精度。而且它们也可以使用幂运算样式进行定义。例如,10145230000可以写为1.014523e10

原子

原子是名称为其值的常数。可以使用color(:)符号创建它们。例如,

:hello

布尔值

Elixir支持truefalse作为布尔值。这两个值实际上都分别附加到原子:true和:false上。

弦乐

Elixir中的字符串插入在双引号之间,并以UTF-8编码。它们可以跨越多行并包含插值。要定义一个字符串,只需在双引号中输入它-

"Hello world"

要定义多行字符串,我们使用类似于Python的语法,带有三重双引号-

"""
Hello
World!
"""

我们将在字符串一章中深入了解字符串,二进制文件和字符列表(类似于字符串 )。

二进制文件

二进制文件是用逗号分隔的<< >>中的字节序列。例如,

<< 65, 68, 75>>

二进制文件通常用于处理与位和字节相关的数据(如果有)。默认情况下,它们可以在每个值中存储0到255。可以通过使用size函数来增加此大小限制,该函数说明存储该值应花费多少位。例如,

<<65, 255, 289::size(15)>>

清单

Elixir使用方括号指定值列表。值可以是任何类型。例如,

[1, "Hello", :an_atom, true]

列表带有内置函数,用于列表的头和尾,分别名为hd和tl,分别返回列表的头和尾。有时,当您创建列表时,它会返回一个字符列表。这是因为当elixir看到可打印的ASCII字符列表时,会将其打印为字符列表。请注意,字符串和字符列表不相等。我们将在后面的章节中进一步讨论列表。

元组

Elixir使用花括号定义元组。像列表一样,元组可以保留任何值。

{ 1, "Hello", :an_atom, true 

这里出现一个问题-为什么当它们都以相同的方式工作时同时提供列表元组?他们有不同的实现。

  • 列表实际上存储为链接列表,因此列表中的插入和删除非常快。

  • 另一方面,元组存储在连续的内存块中,这使访问元组的速度更快,但会增加插入和删除的开销。