%% ----------------------------------------------------
%% @doc
%% 不适用于lists:keyfind/3的情况下,一个轻量级的结果匹配
%% 匹配k返回v 无则返回none
%% match_kv(3,[1,2,3,4,5]) -> 4
%% 1,2,3,4,5 分别是k1=1,v1=2,k2=3,v2=4,不符合则返回默认值5
%% 3 匹配上了k2 所以返回v2
%%
%% match_kv(6,[1,2,3,4,5]) -> 5
%% 6 没匹配上k1 k2 所以返回默认值5
%%
%% match_kv(6,[1,2,3,4]) -> none
%% 6 没匹配上k1 k2 也没提供默认值,返回none
%%
%% @end
%% ----------------------------------------------------
match_kv(K, [K, V | _T]) ->
V;
match_kv(K, [_K1, _V | T]) ->
match_kv(K, T);
match_kv(_K, [V | []]) ->
V;
match_kv(_K, []) ->
none.
效率不高,不建议频繁使用,写这个纯粹是因为懒的写case套娃,线上高频操作该用case还是别吝啬你的小手