diff --git a/README.md b/README.md index be8b6e0..ceff08b 100644 --- a/README.md +++ b/README.md @@ -400,14 +400,31 @@ import "github.com/duke-git/lancet/v2/maputil" #### Function list: -- [ForEach](https://github.com/duke-git/lancet/blob/main/docs/maputil.md#ForEach) -- [Filter](https://github.com/duke-git/lancet/blob/main/docs/maputil.md#Filter) -- [Intersect](https://github.com/duke-git/lancet/blob/main/docs/maputil.md#Intersect) -- [Keys](https://github.com/duke-git/lancet/blob/main/docs/maputil.md#Keys) -- [Merge](https://github.com/duke-git/lancet/blob/main/docs/maputil.md#Merge) -- [Minus](https://github.com/duke-git/lancet/blob/main/docs/maputil.md#Minus) -- [Values](https://github.com/duke-git/lancet/blob/main/docs/maputil.md#Values) -- [IsDisjoint](https://github.com/duke-git/lancet/blob/main/docs/maputil.md#IsDisjoint) +- **ForEach** : executes iteratee funcation for every key and value pair in map. + [[doc](https://github.com/duke-git/lancet/blob/main/docs/maputil.md#ForEach)] + [[play](https://go.dev/play/p/OaThj6iNVXK)] +- **Filter** : iterates over map, return a new map contains all key and value pairs pass the predicate function. + [[doc](https://github.com/duke-git/lancet/blob/main/docs/maputil.md#Filter)] + [[play](https://go.dev/play/p/fSvF3wxuNG7)] +- **Intersect** : iterates over maps, return a new map of key and value pairs in all given maps. + [[doc](https://github.com/duke-git/lancet/blob/main/docs/maputil.md#Intersect)] + [[play](https://go.dev/play/p/Zld0oj3sjcC)] +- **Keys** : returns a slice of the map's keys. + [[doc](https://github.com/duke-git/lancet/blob/main/docs/maputil.md#Keys)] + [[play](https://go.dev/play/p/xNB5bTb97Wd)] +- **Merge** : merge maps, next key will overwrite previous key. + [[doc](https://github.com/duke-git/lancet/blob/main/docs/maputil.md#Merge)] + [[play](https://go.dev/play/p/H95LENF1uB-)] +- **Minus** : creates a map of whose key in mapA but not in mapB. + [[doc](https://github.com/duke-git/lancet/blob/main/docs/maputil.md#Minus)] + [[play](https://go.dev/play/p/3u5U9K7YZ9m)] +- **Values** : returns a slice of the map's values. + [[doc](https://github.com/duke-git/lancet/blob/main/docs/maputil.md#Values)] + [[play](https://go.dev/play/p/CBKdUc5FTW6)] +- **IsDisjoint** : check two map are disjoint if they have no keys in common. + [[doc](https://github.com/duke-git/lancet/blob/main/docs/maputil.md#IsDisjoint)] + [[play](https://go.dev/play/p/N9qgYg_Ho6f)] + ### 12. Mathutil package implements some functions for math calculation. diff --git a/README_zh-CN.md b/README_zh-CN.md index 6097c19..c30a53a 100644 --- a/README_zh-CN.md +++ b/README_zh-CN.md @@ -398,14 +398,31 @@ import "github.com/duke-git/lancet/v2/maputil" #### 函数列表: -- [ForEach](https://github.com/duke-git/lancet/blob/main/docs/maputil_zh-CN.md#ForEach) -- [Filter](https://github.com/duke-git/lancet/blob/main/docs/maputil_zh-CN.md#Filter) -- [Intersect](https://github.com/duke-git/lancet/blob/main/docs/maputil_zh-CN.md#Intersect) -- [Keys](https://github.com/duke-git/lancet/blob/main/docs/maputil_zh-CN.md#Keys) -- [Merge](https://github.com/duke-git/lancet/blob/main/docs/maputil_zh-CN.md#Merge) -- [Minus](https://github.com/duke-git/lancet/blob/main/docs/maputil_zh-CN.md#Minus) -- [Values](https://github.com/duke-git/lancet/blob/main/docs/maputil_zh-CN.md#Values) -- [IsDisjoint](https://github.com/duke-git/lancet/blob/main/docs/maputil_zh-CN.md#IsDisjoint) +- **ForEach** : 对map中的每对key和value执行iteratee函数。 + [[doc](https://github.com/duke-git/lancet/blob/main/docs/maputil_zh-CN.md#ForEach)] + [[play](https://go.dev/play/p/OaThj6iNVXK)] +- **Filter** : 迭代map中的每对key和value,返回map,其中的key和value符合predicate函数。 + [[doc](https://github.com/duke-git/lancet/blob/main/docs/maputil_zh-CN.md#Filter)] + [[play](https://go.dev/play/p/fSvF3wxuNG7)] +- **Intersect** : 多个map的交集操作。 + [[doc](https://github.com/duke-git/lancet/blob/main/docs/maputil_zh-CN.md#Intersect)] + [[play](https://go.dev/play/p/Zld0oj3sjcC)] +- **Keys** : 返回map中所有key组成的切片。 + [[doc](https://github.com/duke-git/lancet/blob/main/docs/maputil_zh-CN.md#Keys)] + [[play](https://go.dev/play/p/xNB5bTb97Wd)] +- **Merge** : 合并多个map, 相同的key会被之后的key覆盖。 + [[doc](https://github.com/duke-git/lancet/blob/main/docs/maputil_zh-CN.md#Merge)] + [[play](https://go.dev/play/p/H95LENF1uB-)] +- **Minus** : 返回一个map,其中的key存在于mapA,不存在于mapB。 + [[doc](https://github.com/duke-git/lancet/blob/main/docs/maputil_zh-CN.md#Minus)] + [[play](https://go.dev/play/p/3u5U9K7YZ9m)] +- **Values** : 返回map中所有values组成的切片 + [[doc](https://github.com/duke-git/lancet/blob/main/docs/maputil_zh-CN.md#Values)] + [[play](https://go.dev/play/p/CBKdUc5FTW6)] +- **IsDisjoint** : 验证两个map是否具有不同的key。 + [[doc](https://github.com/duke-git/lancet/blob/main/docs/maputil_zh-CN.md#IsDisjoint)] + [[play](https://go.dev/play/p/N9qgYg_Ho6f)] + ### 12. mathutil 包实现了一些数学计算的函数。 diff --git a/maputil/map.go b/maputil/map.go index f4d157c..c4a9e92 100644 --- a/maputil/map.go +++ b/maputil/map.go @@ -103,7 +103,7 @@ func Intersect[K comparable, V any](maps ...map[K]V) map[K]V { return result } -// Minus creates an map of whose key in mapA but not in mapB. +// Minus creates a map of whose key in mapA but not in mapB. // Play: https://go.dev/play/p/3u5U9K7YZ9m func Minus[K comparable, V any](mapA, mapB map[K]V) map[K]V { result := make(map[K]V)