当前位置: 首页 > 文档资料 > Elixir 中文教程 >

变量

优质
小牛编辑
135浏览
2023-12-01

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

变量的类型

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

Integer

这些用于整数。 它们在32位架构上的大小为32位,在64位架构上的大小为64位。 整数总是用长生不老药签名。 如果一个整数开始大小超过其限制,那么elixir会在一个Big Integer中对它进行转换,它占用的内存范围为3到n个单词,无论哪个都适合内存。

Floats

浮点数在灵药中的精度为64位。 它们在记忆方面也像整数。 定义浮点数时,可以使用指数表示法。

Boolean

它们可以占用2个值,无论是真还是假。

Strings

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

Anonymous Functions/Lambdas

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

Collections

Elixir有很多种类的收集类型。 其中一些是列表,元组,地图,二进制等。这些将在后续章节中讨论。

变量声明 (Variable Declaration)

变量声明告诉解释器为变量创建存储的位置和数量。 Elixir不允许我们声明变量。 必须声明变量并同时为其分配值。 例如,要创建名为life的变量并为其赋值42,我们执行以下操作 -

life = 42

这会将变量life bind到值42.如果我们想要将此变量重新赋值为新值,我们可以使用与上面相同的语法来完成此操作,即

life = "Hello world"

变量命名

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

变量名也可以使用前导下划线启动,但必须仅在忽略变量时使用,即该变量不会再次使用但需要分配给某些变量。

打印变量

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

life = 42 

在shell中输入'life',你会得到输出 -

42

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

life = 42  
IO.puts life 

OR

life = 42 
IO.puts(life) 

这将为您提供以下输出 -

42