From 513c0f829c4908622b8681ad6518fb5f2f4c10f1 Mon Sep 17 00:00:00 2001 From: dudaodong Date: Tue, 5 Apr 2022 13:47:13 +0800 Subject: [PATCH] docs: add doc for SymmetricDifference fun in slice doc --- docs/slice.md | 30 ++++++++++++++++++++++++++++++ docs/slice_zh-CN.md | 29 +++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) diff --git a/docs/slice.md b/docs/slice.md index fe15428..98ee5a2 100644 --- a/docs/slice.md +++ b/docs/slice.md @@ -51,6 +51,7 @@ import ( - [SortByField](#SortByField) - [Some](#Some) - [StringSlice](#StringSlice) +- [SymmetricDifference](#SymmetricDifference) - [Unique](#Unique) - [Union](#Union) - [UpdateAt](#UpdateAt) @@ -909,6 +910,35 @@ func main() { +### SymmetricDifference +

Create a slice whose element is in given slices, but not in both slices.

+ +Signature: + +```go +func SymmetricDifference[T any](slices ...[]T) []T +``` +Example: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/v2/slice" +) + +func main() { + s1 := []int{1, 2, 3} + s2 := []int{1, 2, 4} + s3 := []int{1, 2, 3, 5} + + fmt.Println(slice.SymmetricDifference(s1)) //[]int{1, 2, 3} + fmt.Println(slice.SymmetricDifference(s1, s2)) //[]int{3, 4} + fmt.Println(slice.SymmetricDifference(s1, s2, s3)) //[]int{3, 4, 5} +} +``` + + + ### Unique

Remove duplicate elements in slice.

diff --git a/docs/slice_zh-CN.md b/docs/slice_zh-CN.md index b34b2a5..3c1ba8f 100644 --- a/docs/slice_zh-CN.md +++ b/docs/slice_zh-CN.md @@ -51,6 +51,7 @@ import ( - [SortByField](#SortByField) - [Some](#Some) - [StringSlice](#StringSlice) +- [SymmetricDifference](#SymmetricDifference) - [Unique](#Unique) - [Union](#Union) - [UpdateAt](#UpdateAt) @@ -909,6 +910,34 @@ func main() { +### SymmetricDifference +

返回一个切片,其中的元素存在于参数切片中,但不同时存储在于参数切片中(交集取反)

+ +函数签名: + +```go +func SymmetricDifference[T any](slices ...[]T) []T +``` +例子: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/v2/slice" +) + +func main() { + s1 := []int{1, 2, 3} + s2 := []int{1, 2, 4} + s3 := []int{1, 2, 3, 5} + + fmt.Println(slice.SymmetricDifference(s1)) //[]int{1, 2, 3} + fmt.Println(slice.SymmetricDifference(s1, s2)) //[]int{3, 4} + fmt.Println(slice.SymmetricDifference(s1, s2, s3)) //[]int{3, 4, 5} +} +``` + + ### Unique

删除切片中的重复元素