Elixir - 变量

变量为我们提供了程序可以操作的命名存储。 Elixir 中的每个变量都有一个特定的类型,它决定了变量内存的大小和布局; 该内存中可以存储的值的范围; 以及可以应用于变量的操作集。

变量类型

Elixir 支持以下基本类型的变量。

整数

这些用于整数。 它们的大小在 32 位架构上为 32 位,在 64 位架构上为 64 位。 整数在 Elixir 中总是有符号的。 如果一个整数的大小开始超出其限制,elixir 会将其转换为一个大整数,该整数会占用 3 到 n 个单词的内存,以能够容纳它的内存为准。

浮点数

elixir 中的浮点数具有 64 位精度。 就内存而言,它们也类似于整数。 定义浮点数时,可以使用指数表示法。

布尔值

它们可以采用 2 个值,即 true 或 false。

字符串

elixir 中的字符串采用 utf-8 编码。 他们有一个字符串模块,为程序员提供了很多操作字符串的功能。

匿名函数/Lambda

这些函数可以定义并分配给变量,然后可以使用变量来调用该函数。

集合

Elixir 中有很多可用的集合类型。 其中一些是列表、元组、映射、二进制等。这些将在后续章节中讨论。

变量声明

变量声明告诉解释器在哪里以及为变量创建存储空间的大小。 Elixir 不允许我们只声明一个变量。 变量必须同时声明和赋值。 例如,要创建一个名为 life 的变量并为其分配值 42,我们执行以下操作 −

life = 42

这会将变量 life 绑定到值 42。如果我们想为该变量重新分配一个新值,我们可以使用与上面相同的语法来实现,即,

life = "Hello world"

变量命名

命名变量遵循 Elixir 中的 snake_case 约定,即所有变量必须以小写字母开头,后跟 0 个或多个字母(大小写), 最后跟一个可选的'?' 或 '!'。

变量名也可以以下划线开头,但只有在忽略变量时才必须使用,即该变量不会再次使用,但需要分配给某些东西。

打印变量

在交互式 shell 中,如果您只需输入变量名称,就会打印变量。 例如,如果您创建一个变量 −

life = 42 

然后在 shell 中输入"life",您将得到如下输出 −

42

但是如果您想将变量输出到控制台(从文件运行外部脚本时),您需要提供变量作为 IO.puts 函数的输入 −

life = 42  
IO.puts life 

或者

life = 42 
IO.puts(life) 

这会给出以下输出 −

42