- Elixir 教程
- Elixir - 首页
- Elixir - 概述
- Elixir - 环境
- Elixir - 基本语法
- Elixir - 数据类型
- Elixir - 变量
- Elixir - 运算符
- Elixir - 模式匹配
- Elixir - 决策
- Elixir - 字符串
- Elixir - 字符列表
- Elixir - 列表和元组
- Elixir - 关键字列表
- Elixir - 映射
- Elixir - 模块
- Elixir - 别名
- Elixir - 函数
- Elixir - 递归
- Elixir - 循环
- Elixir - 可枚举
- Elixir - 流
- Elixir - 结构体
- Elixir - 协议
- Elixir - 文件 I/O
- Elixir - 进程
- Elixir - 符号
- Elixir - 推导式
- Elixir - 类型说明
- Elixir - 行为
- Elixir - 错误处理
- Elixir - 宏
- Elixir - 库
- Elixir 有用资源
- Elixir - 快速指南
- Elixir - 有用资源
- Elixir - 讨论
Elixir - 变量
变量为我们提供了程序可以操作的命名存储。Elixir 中的每个变量都具有特定的类型,该类型决定了变量内存的大小和布局;可以存储在该内存中的值的范围;以及可以应用于变量的操作集。
变量类型
Elixir 支持以下基本类型的变量。
整数
这些用于整数。在 32 位架构上大小为 32 位,在 64 位架构上大小为 64 位。Elixir 中的整数始终是有符号的。如果整数的大小开始超过其限制,Elixir 会将其转换为大整数,大整数在内存中占用 3 到 n 个字的范围,无论哪个可以容纳它。
浮点数
浮点数在 Elixir 中具有 64 位精度。它们在内存方面也类似于整数。定义浮点数时,可以使用指数表示法。
布尔值
它们可以取两个值,即真或假。
字符串
字符串在 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