ElixirSchool 基础教程:从安装到基本数据类型与操作
elixirschool The content behind Elixir School 项目地址: https://gitcode.com/gh_mirrors/el/elixirschool
前言
Elixir 作为一门构建在 Erlang 虚拟机上的函数式编程语言,因其高并发、低延迟的特性而广受欢迎。本文将从零开始,带你了解 Elixir 的基础知识,包括环境搭建、基本数据类型和常用操作。
环境搭建
安装 Elixir
Elixir 的安装过程非常简单,官方提供了各操作系统的详细安装指南。安装完成后,可以通过命令行验证安装是否成功:
elixir -v
这将显示已安装的 Elixir 和 Erlang 版本信息。Erlang 是 Elixir 的运行时环境,两者版本需要匹配才能正常工作。
交互式环境 IEx
Elixir 提供了强大的交互式环境 IEx (Interactive Elixir),类似于 Python 的 REPL。启动方式如下:
iex
在 Windows PowerShell 中需要使用 iex.bat
命令启动。
进入 IEx 后,你可以直接输入 Elixir 表达式并立即看到结果:
iex> 2 + 3 * 4
14
iex> String.upcase("hello")
"HELLO"
这种即时反馈的学习方式非常适合初学者快速掌握语言特性。
基本数据类型
整数类型
Elixir 的整数支持多种进制表示:
iex> 255 # 十进制
255
iex> 0b11111111 # 二进制
255
iex> 0o377 # 八进制
255
iex> 0xFF # 十六进制
255
这种多进制支持在处理位运算、文件权限等场景时非常方便。
浮点数
Elixir 的浮点数遵循 IEEE 754 标准,是 64 位双精度浮点数:
iex> 3.14159
3.14159
iex> 6.02e23 # 科学计数法
6.02e23
注意浮点数必须包含小数点,.14
这种写法会导致语法错误。
布尔值
Elixir 的布尔类型很简单,只有 true
和 false
两个值:
iex> true and false
false
iex> not true
false
有趣的是,布尔值实际上是原子(Atom)的特殊形式:
iex> :true == true
true
iex> is_atom(false)
true
原子类型
原子是 Elixir 中非常重要的常量类型,其名称即为其值:
iex> :ok
:ok
iex> :error
:error
原子常用于函数返回值、模式匹配等场景。模块名也是原子:
iex> is_atom(String)
true
字符串
Elixir 的字符串是 UTF-8 编码的二进制数据:
iex> "你好,世界"
"你好,世界"
iex> "π ≈ 3.14159"
"π ≈ 3.14159"
字符串支持转义字符和多行表示:
iex> "第一行\n第二行"
"第一行\n第二行"
iex> """
...> 这是
...> 多行
...> 字符串
...> """
"这是\n多行\n字符串"
基本操作
算术运算
Elixir 支持标准的算术运算符:
iex> 1 + 2 * 3
7
iex> 10 / 3 # 总是返回浮点数
3.3333333333333335
对于整数除法,可以使用 div/2
函数:
iex> div(10, 3)
3
iex> rem(10, 3) # 取余
1
布尔运算
Elixir 提供了多种布尔运算符:
iex> true and false
false
iex> false or true
true
iex> not false
true
&&
、||
和 !
运算符可以接受任何类型的操作数:
iex> nil || 42
42
iex> 0 && true
true
而 and
、or
、not
则严格要求布尔值:
iex> 42 and true
** (BadBooleanError) expected a boolean on left-side of "and", got: 42
比较运算
Elixir 的比较运算符包括:
iex> 1 == 1.0 # 宽松比较
true
iex> 1 === 1.0 # 严格比较
false
iex> 1 != 2
true
iex> 1 < 2
true
Elixir 允许不同类型之间比较,这在排序时很有用:
iex> :atom > 1000
true
iex> [1, 2, 3] < {:tuple}
true
字符串操作
字符串插值是 Elixir 中常用的特性:
iex> name = "王小明"
"王小明"
iex> "你好,#{name}"
"你好,王小明"
字符串连接使用 <>
运算符:
iex> "Hello" <> " " <> "World"
"Hello World"
结语
本文介绍了 Elixir 的基础知识,包括环境搭建、基本数据类型和常用操作。掌握这些内容是学习 Elixir 的第一步。在后续学习中,你会接触到更复杂的数据结构如列表、元组、映射,以及函数、模块等高级特性。Elixir 简洁而强大的语法设计,会让你在函数式编程的道路上越走越远。
elixirschool The content behind Elixir School 项目地址: https://gitcode.com/gh_mirrors/el/elixirschool
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考