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)