📜  Elixir-数据类型(1)

📅  最后修改于: 2023-12-03 15:00:35.606000             🧑  作者: Mango

Elixir 数据类型

在 Elixir 中,有许多数据类型可供程序员使用,包括基本数据类型、元组、列表、映射等。了解这些数据类型的特点、用途以及如何操作它们,将有助于编写更加高效、可靠的 Elixir 代码。

基本数据类型

Elixir 中的基本数据类型包括整数、浮点数、布尔值以及原子。

整数

Elixir 中的整数是任意精度的,它们可以表示任何大小的整数。整数的字面量使用十进制表示法,也可以使用其他进制(例如二进制、八进制、十六进制)来表示。

# 十进制
iex> 12345
12345

# 二进制
iex> 0b1010  # 二进制数 1010
10

# 八进制
iex> 0o777   # 八进制数 777
511

# 十六进制
iex> 0x1F    # 十六进制数 1F
31
浮点数

Elixir 中的浮点数是 IEEE 754 标准的双精度浮点数。浮点数的字面量使用小数点表示法。

iex> 3.14
3.14
布尔值

Elixir 中的布尔值只有两个取值:true 和 false。

iex> true
true
原子

Elixir 中的原子是以 : 开头的符号,其值需要是静态的。原子用途广泛,通常用来表示枚举值、键名等。

iex> :hello
:hello
元组

元组是由一组值组成的不可变序列,通常用于返回多个值。元组用花括号和逗号来表示。

iex> {1, 2, 3}
{1, 2, 3}

可以使用 elem/2 函数来访问元组的元素,其中第一个元素的索引为 0。

iex> tuple = {1, 2, 3}
{1, 2, 3}
iex> elem(tuple, 0)
1
iex> elem(tuple, 1)
2
iex> elem(tuple, 2)
3
列表

列表是由一组值组成的可变序列,通常用于表示集合、序列等数据结构。列表用方括号和逗号来表示。

iex> [1, 2, 3]
[1, 2, 3]

可以使用 ++ 运算符来连接两个列表,使用 -- 运算符来从一个列表中移除另一个列表的元素。

iex> [1, 2, 3] ++ [4, 5, 6]
[1, 2, 3, 4, 5, 6]
iex> [1, 2, 3, 4, 5] -- [2, 4]
[1, 3, 5]
映射

映射是由键值对组成的字典,通常用于表示配置信息、数据库记录等。映射用 %{} 和 => 来表示。

iex> %{"name" => "Alice", "age" => 30}
%{"age" => 30, "name" => "Alice"}

可以使用 Map.get/3 函数来获取映射中的值。

iex> map = %{"name" => "Alice", "age" => 30}
%{"age" => 30, "name" => "Alice"}
iex> Map.get(map, "name")
"Alice"
iex> Map.get(map, "gender", "unknown")
"unknown"
总结

本文介绍了 Elixir 中的基本数据类型、元组、列表、映射等数据类型,以及如何操作它们。这些数据类型是 Elixir 编程的基础,掌握它们将使你更熟练、更有效地编写代码。