- 教程
- 概述
- 环境
- Basic 语法
- 数据类型
- 变量
- 运算符
- 模式匹配( Pattern Matching)
- 决策( Decision Making)
- Strings( Strings)
- Char Lists( Char Lists)
- 列表和元组( Lists and Tuples)
- 关键字列表( Keyword Lists)
- Maps
- 模块( Modules)
- 别名( Aliases)
- 功能( Functions)
- 递归
- 循环
- Enumerables( Enumerables)
- Streams( Streams)
- Structs( Structs)
- 协议 Protocols
- File I/O
- 进程( Processes)
- Sigils( Sigils)
- 理解( Comprehensions)
- Typespecs( Typespecs)
- 行为( Behaviours)
- 错误处理( Errors Handling)
- Macros( Macros)
- (库)Libraries
- 有用的资源
- 讨论
- Show 例子
- Show 例子
- Show 例子
- Show 例子
- Show 例子
- if statement
- if..else statement
- unless statement
- unless..else statement
- cond
- case
变量
变量为我们提供了程序可以操作的命名存储。 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
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论