我试图了解记录定义中存在的 :: binary()的含义和目的,但并不是真正理解它。感谢是否有人可以帮助我理解这一点。
答案 0 :(得分:4)
这是一种类型声明。这在"Type Information in Record Declarations" section。
中有所描述意思是该记录字段的值应该是二进制的。由于Erlang是一种弱类型语言,编译器并不关心这一点,但是有一个名为Dialyzer的静态类型检查器,它试图在代码中找到在该字段中放置二进制以外的东西的位置,或者希望该字段包含二进制以外的内容。
有关类型规格和透析器的温和介绍,请参阅the Type Specifications and Erlang chapter of Learn You Some Erlang。