📅  最后修改于: 2023-12-03 15:00:35.552000             🧑  作者: Mango
Elixir 是一种面向函数式编程的编程语言,它运行在 Erlang 虚拟机(BEAM)上。它支持并发、分布式、容错等特性,是构建可扩展、高可用的分布式系统的理想选择。
在 macOS 上安装 Elixir
brew install elixir
在 Ubuntu 上安装 Elixir
sudo apt-get install elixir
使用 =
进行赋值,变量名以小写字母或下划线开头。
iex> x = 1
1
iex> _ = 2 # _ 表示匿名变量,不需要对其进行命名
2
变量的值是不可变的,即一旦被赋值,它的值就不能再次改变。
iex> x = 1
1
iex> x = 2
** (CompileError) iex:2: cannot rebind variable "x"
使用 =
进行赋值,常量名以大写字母开头。
iex> PI = 3.14
3.14
iex> PI = 3 # 不能再次改变
** (CompileError) iex:2: cannot rebind variable "PI"
Elixir 的数据类型包括:
Elixir 支持整型和浮点型数据。
iex> x = 10
10
iex> y = 5.5
5.5
Elixir 的布尔值使用 true
和 false
表示。
iex> x = true
true
iex> y = false
false
原子是 Elixir 中的一个特殊数据类型,它是一个以冒号开头的不可变的符号。原子通常用于表示状态、选项等。
iex> :ok
:ok
iex> :error
:error
Elixir 的字符串使用双引号表示,也可以使用单引号表示。
iex> x = "hello"
"hello"
iex> y = 'world'
'world'
Elixir 的列表是一种可变的有序集合。
iex> x = [1, 2, 3]
[1, 2, 3]
iex> x ++ [4, 5] # 拼接列表
[1, 2, 3, 4, 5]
iex> hd x # 得到列表的头部元素
1
iex> tl x # 得到列表的尾部元素
[2, 3]
Elixir 的元组是一种不可变的有序集合,它可以包含不同类型的元素。
iex> x = {:ok, 200}
{:ok, 200}
iex> elem x, 1 # 获取元组的第二个元素(第一个元素的下标是 0)
200
Elixir 的 Map 是一种键值对集合,每个键都是唯一的。
iex> x = %{:name => "John", :age => 35}
%{age: 35, name: "John"}
iex> x[:name] # 获取键为 :name 的值
"John"
Elixir 中的函数是一等公民,可以直接作为值进行传递。
iex> square = fn x -> x * x end
#Function<6.52032458/1 in :erl_eval.expr/5>
iex> square.(5) # 使用 . 调用函数
25
if condition do
# 符合条件的代码块
else
# 不符合条件的代码块
end
case value do
pattern1 ->
# 匹配 pattern1 的代码块
pattern2 ->
# 匹配 pattern2 的代码块
_ ->
# 默认的代码块
end
do
# 代码块
end
defmodule ModuleName do
def function_name(argument1, argument2, ...) do
# 函数体
end
end
fn argument1, argument2, ... ->
# 函数体
end
defmodule ModuleName do
def function_name([head | tail]) do
# 处理 head 和 tail
end
def function_name([]) do
# 处理空列表
end
end
本文介绍了 Elixir 的基本语法、数据类型、控制结构和函数定义,同时提供了一些示例代码。希望通过这篇文章,读者能够对 Elixir 有一个初步的了解,并能够开始学习和使用 Elixir 编程语言。