📜  Erlang-基本语法(1)

📅  最后修改于: 2023-12-03 14:41:00.053000             🧑  作者: Mango

Erlang-基本语法

Erlang是一种函数式编程语言,它特点是并发性强,能够处理大量并发的任务,现在被广泛应用于分布式系统和可伸缩应用。本文将介绍Erlang的基本语法。

变量和赋值

Erlang中的变量名以小写字母开头,可以包含字母、数字和下划线。在Erlang中,变量只能被赋值一次。

% 定义变量
Var = 10.

% 尝试修改变量,会报错
Var = 20.
数据类型

Erlang有许多数据类型,下面是一些常见的数据类型。

数值类型

Erlang支持整数和浮点数类型。

% 整数类型
Int = 10.

% 浮点数类型
Float = 3.14.
布尔类型

Erlang中的布尔类型只有两个值,true和false。

True = true.
False = false.
原子类型

Erlang中的原子是以单引号括起来的标识符。原子在Erlang中通常用来表示常量,例如状态码等。

Atom = atom.
字符串类型

Erlang中的字符串用双引号括起来,但是Erlang中的字符串是不可变的。

String = "Hello, World!".
列表类型

Erlang中的列表由方括号括起来,例如[1, 2, 3]。

List = [1, 2, 3].
元组类型

Erlang中的元组由大括号括起来,例如{1, 2, 3}。

Tuple = {1, 2, 3}.
控制流
条件语句

Erlang中的条件语句与其他语言类似,有if、else、elseif关键字。

% if语句
if
    X > 0 -> io:format("X is positive.~n");
    X < 0 -> io:format("X is negative.~n");
    true  -> io:format("X is zero.~n")
end.
循环语句

Erlang提供了多种循环语句,例如for、while、do...while、foreach等,下面是一个for循环的例子。

% for循环
loop(N) ->
    for(I, 1, N) ->
        io:format("~p~n", [I])
    end.
函数

Erlang中的函数以小写字母开头,由多个clause组成。例如:

% 函数定义
fac(0) ->
    1;
fac(N) when N > 0 ->
    N * fac(N - 1).

% 函数调用
Result = fac(5).
io:format("~p~n", [Result]).
模块与导出

Erlang中的模块以关键字-module开头,导出函数以-export声明,例如:

% module声明
-module(math).

% 导出函数
-export([add/2]).

% 定义函数
add(X, Y) ->
    X + Y.
总结

本文介绍了Erlang的基本语法,包括变量和赋值、数据类型、控制流、函数、模块和导出等。如果您想深入学习Erlang,可以阅读Erlang官方文档或者查看开源Erlang项目。