erlang-基本语法_1、io:format输出、基本数据类型
写在前面
本文主要是以一个erlang的学习记录,有错误的地方欢迎指正。
介绍
.为什么要用到erlang?
高并发()
高容错()
软实时(修改一个erl文件时,不需要全部文件重新编译,只需要编译修改的那个文件即可)
.什么时候要用到erlang?
高并发请求的服务可以用到。
.erlang可以用来干什么?
可以搭建成一个web的服务器。
安装(网上有教程这里先不说明)
基本语法
注释
(用%来注释)
入门语法示例:
1 | ➜ ~ erl Erlang/OTP 20 [erts-9.3] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:10] [hipe] [kernel-poll:false] [dtrace] Eshell V9.3 (abort with ^G) |
第一个是io:format(“hello world!~n”).表示输出一串hello world的字符串,
其中的~n表示的是换行处理,
输出的ok,是函数的返回值。
第二个是一个加法的运算;
第三个是退出当前erlang的shell命令窗口;也可以在erlang shell(erlang交互命令行) 中执行halt().来退出命令窗口。
1 | 9> halt(). |
.基本数据类型
.1、Numbers数字运算法则
1 | 1> 2 + 15. %加法 |
.2、Boolean布尔数据类型(与或非)
atom 类型的 true 和 false 两个值,被用作布尔处理。1
2
3
4
5
6
7
8
9
101> true and false. %% 逻辑 并
false
2> false or true. %% 逻辑 或
true
3> true xor false. %% 逻辑 异或
true
4> not false. %% 逻辑 非
true
5> not (true and true).
false
还有两个与 and 和 or 类似的操作:andalso和 orelse。区别是 and 和 or 不论左边的运算结果是真还是假,都会执行右边的操作。而 andalso 和 orelse是短路的,意味着右边的运算不一定会执行。
来看一下比较:
.3、比较
1 | 6> 5 =:= 5. %% =:= 是"严格相等"运算符,== "是大概相等" |
一般如果懒得纠结太多,用 =:= 和 =/= 就可以了。
1 | 12> 1 < 2. |
虽然不同的类型之间可以比较,也有个对应的顺序,但一般情况用不到的:
number < atom < reference < fun < port < pid < tuple < list < bit string
写在后面
引用网络博客内容:
https://www.jianshu.com/p/b45eb9314d1e (30 分钟学 Erlang (一))
https://www.w3cschool.cn/erlang/tohb1p5z.html (w3cschool erlang教程)