Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,870 questions

51,793 answers

573 users

How to get the difference between two arrays in Go

2 Answers

0 votes
package main

import (
	"fmt"
	"strings"
)

func main() {
	array1 := []string{"c#", "c", "c++", "java", "python", "vb"}
	array2 := []string{"rust", "c", "c++", "go", "python", "nodejs"}

	result := except(array2, array1)

	fmt.Println(strings.Join(result, " "))
}

func except(array2, array1 []string) []string {
	set := make(map[string]struct{})
	for _, item := range array1 {
		set[item] = struct{}{}
	}

	var result []string
	for _, item := range array2 {
		if _, found := set[item]; !found {
			result = append(result, item)
		}
	}
	
	return result
}


/*
run:
     
rust go nodejs

*/

 



answered Feb 5, 2025 by avibootz
0 votes
package main

import (
    "fmt"
    "strings"
)

func main() {
    array1 := []string{"c#", "c", "c++", "java", "python", "vb"}
    array2 := []string{"rust", "c", "c++", "go", "python", "nodejs"}

    set1 := make(map[string]bool)
    for _, val := range array1 {
        set1[val] = true
    }

    var result []string
    for _, val := range array2 {
        if !set1[val] {
            result = append(result, val)
        }
    }

    fmt.Println(strings.Join(result, " "))
}



/*
run:
     
rust go nodejs

*/

 



answered Feb 5, 2025 by avibootz

Related questions

1 answer 84 views
2 answers 188 views
1 answer 153 views
1 answer 156 views
1 answer 145 views
1 answer 151 views
...