📅  最后修改于: 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支持true和false作为布尔值。这两个值实际上都分别附加到原子: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
这里出现一个问题-为什么当它们都以相同的方式工作时同时提供列表和元组?他们有不同的实现。
列表实际上存储为链接列表,因此列表中的插入和删除非常快。
另一方面,元组存储在连续的内存块中,这使访问元组的速度更快,但会增加插入和删除的开销。