How to get Intersection and Differences of 2 arrays with golang?
- Intersection
package main
import (
"fmt"
)
// Set Difference: A - B
func Difference(a, b []int) (diff []int) {
m := make(map[int]bool)
for _, item := range b {
m[item] = true
}
for _, item := range a {
if _, ok := m[item]; ok {
diff = append(diff, item)
}
}
return
}
func main() {
var company_skill = []int{1, 2, 3, 4, 5, 6, 7 , 8 ,9 ,10}
var user_skill = []int{1, 2, 3, 4, 5, 6, 7, 11}
fmt.Println(Difference(company_skill, user_skill))
}
- Differences
package main
import (
"fmt"
)
// Set Difference: A - B
func Difference(a, b []int) (diff []int) {
m := make(map[int]bool)
for _, item := range b {
m[item] = true
}
for _, item := range a {
if _, ok := m[item]; !ok {
diff = append(diff, item)
}
}
return
}
func main() {
var company_skill = []int{1, 2, 3, 4, 5, 6, 7 , 8 ,9 ,10}
var user_skill = []int{1, 2, 3, 4, 5, 6, 7, 11}
fmt.Println(Difference(company_skill, user_skill))
}