Go 的“if x in”构造方法
Go 提供了各种方法来检查数组中是否存在元素或检查成员资格。虽然它没有像 Python 那样明确的“if x in”结构,但它根据所使用的版本和数据结构提供了一些替代方案。
1.使用 Slices.Contains (Go 1.18 及更高版本)
对于 Go 1.18 及更高版本,slices.Contains 方法提供了直接高效的解决方案。它将数组或切片作为输入,并检查指定的元素是否存在。
arr := []string{"a", "b", "c"} if slices.Contains(arr, "b") { // Element is present }
2.迭代数组(Go 1.18 之前)
Go 1.18 之前,没有内置运算符来检查成员资格。相反,可以创建一个自定义函数来迭代数组:
func stringInSlice(a string, list []string) bool { for _, b := range list { if b == a { return true } } return false }
3。使用映射进行成员资格检查
如果不希望迭代整个列表,则使用映射而不是数组或切片可以为成员资格检查提供更有效的解决方案:
visitedURL := map[string]bool { "http://www.google.com": true, "https://paypal.com": true, } if visitedURL[thisSite] { fmt.Println("Already been here.") }
以上是在没有'if x in”结构的情况下,Go 如何检查元素成员身份?的详细内容。更多信息请关注PHP中文网其他相关文章!