在Typespec中,二进制,string.t,char_list和[char]之间的差异



定义打字时二进制,字符串。

@spec method(binary) :: binary

@spec method(String.t) :: String.t

它们等效吗?Doc说:

  • 二进制用于长生素弦。
  • char_list用于Erlang字符串。定义为[char]。

String.tbinary相同,请参见其定义。

char_list不仅仅是字符的平淡列表。它在Erlang的unicode模块中定义为:

maybe_improper_list(char() | unicode_binary() | charlist(),
                    unicode_binary() | [])

因此,它包括正确的和不正确的列表,列表可以包含字符,二进制文件或Charlists或空列表。

最新更新