在Erlang语言的文档中,原子的英文为atom,其英文意义为“原子”、“微粒”,但也有资料译为基元,本文称之为“原子”。
Erlang中,原子是由字符序列来标识的字符串常量(注意不是字符串),通常以小写字母开头,其后可包括大写字母、数字、下划线和@符号。但其中也可以插入其他字符,这时要用单引号将其括起来。原子的字符长度最大值为255。比如以下几个原子:
ok
error
errorOR
error2err
'error abc' %其中包含空格,要用单引号括起来
原子的意义就是其字面意义,不可拆分,除比较或匹配运算外,不支持其他运算。
原子的另一个特点是不用定义,直接使用,在程序中出现时即创建。而且一旦创建,便不会被系统清除,除非系统重启。单个系统中可使用原子总数的上限为1048576个,虽然这个数值足够大,但在长期运行的系统中,应该避免动态生成原子。