📅  最后修改于: 2020-11-04 08:21:47             🧑  作者: Mango
变量为我们提供了程序可以操纵的命名存储。 Elixir中的每个变量都有一个特定的类型,该类型确定变量的内存大小和布局。可以存储在该内存中的值的范围;以及可以应用于该变量的一组操作。
Elixir支持以下基本类型的变量。
这些用于整数。它们在32位体系结构上的大小为32位,在64位体系结构上的大小为64位。整数始终在e剂中签名。如果整数的大小开始超过其限制,则elixir会将其转换为Big Integer,该Big Integer占用3到n个字的内存范围,以适合其内存的范围为准。
浮点数在e剂中具有64位精度。就内存而言,它们也像整数。定义浮点数时,可以使用指数符号。
它们可以使用2个值为true或false的值。
字符串是用Elixir编码的utf-8。它们具有一个字符串模块,该模块为程序员提供了许多操作字符串。
这些是可以定义并分配给变量的函数,然后可以使用它们来调用此函数。
Elixir有很多可用的集合类型。其中一些是列表,元组,映射,二进制文件等。这些将在后续章节中进行讨论。
变量声明告诉解释器在何处以及为变量创建多少存储空间。 Elixir不允许我们仅声明变量。必须声明一个变量,并同时为其赋值。例如,要创建一个名为life的变量并为其分配值42,请执行以下操作-
life = 42
这会将变量寿命绑定到值42。如果我们想为该变量重新分配一个新值,则可以使用与上述相同的语法来实现,即
life = "Hello world"
命名变量遵循Elixir中的snake_case约定,即所有变量必须以小写字母开头,后跟0个或多个字母(大写和小写字母),最后以可选的“?”结尾要么 ‘!’。
变量名也可以以下划线开头,但是仅在忽略变量时才必须使用该变量名,即,该变量将不再使用,而是需要分配给某个变量。
在交互式外壳中,如果您只输入变量名,则将打印变量。例如,如果您创建一个变量-
life = 42
然后在外壳程序中输入“ life”,您将获得以下输出:
42
但是,如果要将变量输出到控制台(从文件运行外部脚本时),则需要提供变量作为IO.puts函数的输入-
life = 42
IO.puts life
要么
life = 42
IO.puts(life)
这将为您提供以下输出-
42