elixir 的原子和字符串互转

1) 原子转字符串:

Elixir语言中 Atom.to_string 相关用法介绍如下。

用法:
to_string(atom)
@spec to_string(atom()) :: String.t()
将原子转换为字符串。

由编译器内联。

例子
iex> Atom.to_string(:foo)
"foo"


2) 字符串转原子

 

Elixir语言中 String.to_atom 相关用法介绍如下。

用法:
to_atom(string)
@spec to_atom(t()) :: atom()
将字符串转换为原子。

警告:此函数动态创建原子,原子不是garbage-collected。因此,string 不应是不受信任的值,例如从套接字接收的输入或在 Web 请求期间。考虑改用 to_existing_atom/1 。

默认情况下,最大原子数为 1_048_576 。可以使用 VM 选项 +t 提高或降低此限製。

最大原子大小为 255 个 Unicode 代码点。

由编译器内联。

例子
iex> String.to_atom("my_atom")
:my_atom
posted @ 2022-10-08 09:49  孤独信徒  阅读(84)  评论(0编辑  收藏  举报