我需要比较两个uint32数组,类似这样

   func in(a uint32, list []uint32) bool {
        for _, b := range list {
            if b == a {
                return true
            }
        }
        return false
    }
for n := 0 ;n < len(a); n++ {
        fmt.Println(in(a[n], b))
    }
// a and b []uint32

但我认为这不是最理想的方式

最佳答案:

==reflect.DeepEqualintsets.Sparse
func main() {
    s1 := intsets.Sparse{}
    s2 := intsets.Sparse{}
    s1.Insert(1)
    s1.Insert(2)
    s1.Insert(3)
    s2.Insert(1)
    s2.Insert(2)
    //s1:{1,2,3}
    //s2:{1,2}
    fmt.Println(s1.SubsetOf(&s2), s2.SubsetOf(&s1))
    //false, true
}

这将忽略重复项,但让您知道s1是否是s2的子集,这意味着s1中的每个元素都存在于s2中。