一尘不染

Go是否具有类似于Python的“ if x in”构造?

go

如果不 遍历整个数组,如何x使用Go 检查数组中是否存在?语言有结构吗?

像Python: if "x" in array: ...


阅读 254

收藏
2020-07-02

共1个答案

一尘不染

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

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

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

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