erlang -type 以及-spec 使用

发布时间 2023-12-23 11:38:52作者: 荣锋亮

很多时候我们编写的模块方法需要明确的参数类型,方便使用,-type 以及-spec 就提供了此能力

参考使用

  • app.erl
-module(app).
 
-export([myadd/1,mydemo/1]).
 
-type add() :: {integer(), integer()}.
 
-spec myadd(add()) -> integer().
 
myadd(Args) ->
    {A,B} = Args,
    A + B.
 
-spec mydemo(add()) -> integer().
mydemo({A,B}) ->
    A + B.
  • 使用

 

说明

此方法在不少erlang 项目中都可以看到,用好了很方便

参考资料

https://www.erlang.org/docs/26/reference_manual/typespec
https://www.erlang.org/docs/26/reference_manual/data_types
https://www.erlang.org/docs/26/reference_manual/typespec#specifications-for-functions