maps:fold/3
对映射组里的键值递归遍历执行一系列操作
用法:
fold(Fun, Init, Map) -> Acc
函数 F(K, V, AccIn) 递归调用映射组 Map 里的每一个键和值,函数 F/3 肯定会返回一个新的上一次函数成功执行累积值,该函数返回最终的累积值。如果映射组 Map 是一个空的映射组,那么初始的累积值 Init 将会返回。
Fun = fun(K,V,AccIn) when is_list(K) -> AccIn + V end, Map = #{"k1" => 1, "k2" => 2, "k3" => 3}, maps:fold(Fun, 0, Map).