go语言中在两个/多个切片、数组中获取并集的示例代码

2023-06-01 00:00:00 多个 示例 切片

下面介绍两个切片或数组中获取并集示例的方法

思路:

先把两个或多个切片数据合并拼接
然后在去重


测试示例代码

package controllers

import (
"fmt"
)

// TestController  is a test control
type TestController struct {
//beego.Controller
BaseController
}

func (c *TestController) Aaa() {

//并集
a := []string{"Hello", "No", "Zongscan"}
b := []string{"Hello", "Yes", "Zongscan"}

d := []string{}
d = append(a, b...)
fmt.Println("合集1: ", d)

//切片去重 : 把上面的两切片合集数据重复的只留一个
//可以写成公共函数调用
m := make(map[string]struct{}, 0)
newD := make([]string, 0)
for _, v1 := range d {
if _, ok := m[v1]; !ok {
newD = append(newD, v1)
m[v1] = struct{}{}
}
}
fmt.Println("合集处理后的并集: ", newD)

}

效果图:

并集.png

相关文章