ElixirSchool 基础教程:从安装到基本数据类型与操作

ElixirSchool 基础教程:从安装到基本数据类型与操作

elixirschool The content behind Elixir School elixirschool 项目地址: 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 的布尔类型很简单,只有 truefalse 两个值:

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

andornot 则严格要求布尔值:

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 elixirschool 项目地址: https://gitcode.com/gh_mirrors/el/elixirschool

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

钱桦实Emery

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值