gpt4 book ai didi

list - 如何检查 slice 是否在 GO 中的 slice 内?

转载 作者:IT王子 更新时间:2023-10-29 02:26:16 27 4
gpt4 key购买 nike

我有以下代码:

func main(){
l1 := []string{"a", "b", "c"}
l2 := []string {"a", "c"}
//l2 in l1?
}

我可以使用循环和标志来检查这一点,但是有没有一种简单的方法来检查 l2 是否在 l1 内部,就像 python 命令“l2 in l1”一样?

最佳答案

来自 How to check if a slice is inside a slice in GO? ,@Mostafa 发布了以下内容以检查元素是否在 slice 中:

func contains(s []string, e string) bool {
for _, a := range s {
if a == e {
return true
}
}
return false
}

现在是逐个元素检查的问题了:

func subslice (s1 []string, s2 []string) bool {
if len(s1) > len(s2) { return false }
for _, e := range s1 {
if ! contains(s2,e) {
return false
}
}
return true
}

当然,这会忽略重复项,因此还有改进的余地。

关于list - 如何检查 slice 是否在 GO 中的 slice 内?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48549979/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com