gpt4 book ai didi

if-statement - Go 是否具有类似于 Python 的 "if x in"构造?

转载 作者:IT老高 更新时间:2023-10-28 12:56:25 25 4
gpt4 key购买 nike

如何使用 Go 来检查 x 是否在数组中而不 遍历整个数组?该语言是否对此有构造?

就像在 Python 中一样:

if "x" in array: 
# do something

最佳答案

Go 中没有内置的运算符来执行此操作。您需要遍历数组。您可以编写自己的函数来执行此操作,如下所示:

func stringInSlice(a string, list []string) bool {
for _, b := range list {
if b == a {
return true
}
}
return false
}

或者在 Go 1.18 或更新版本中,您可以使用 slices.Contains (来自 golang.org/x/exp/slices)。

如果您希望能够在不遍历整个列表的情况下检查成员资格,则需要使用映射而不是数组或 slice ,如下所示:

visitedURL := map[string]bool {
"http://www.google.com": true,
"https://paypal.com": true,
}
if visitedURL[thisSite] {
fmt.Println("Already been here.")
}

关于if-statement - Go 是否具有类似于 Python 的 "if x in"构造?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15323767/

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