Go 中有效的“if x in”语法:与 Python 构造的比较
Go 本身并不提供“if x in”构造与Python类似。然而,有一些有效的技术可以为数组或切片实现相同的功能,并使用映射来进行更有效的成员资格检查。
对于数组和切片
在 Go 中1.18及更高版本,切片提供了 Contains 功能,可以方便地检查成员资格:
if contains.Contains(array, "x") { // Perform actions }
之前Go 1.18 中没有用于数组或切片成员资格检查的内置运算符。可以实现自定义函数:
func stringInSlice(a string, list []string) bool { for _, b := range list { if b == a { return true } } return false }
对于地图
地图通过存储键值对提供更高效的成员资格检查。要检查地图中是否存在元素,请使用以下语法:
if visitedURL[thisSite] { // Perform actions }
其中visitedURL是一个地图,其键代表元素,值代表其存在(例如,对于现有元素为true)。
以上是如何高效检查 Go Slices 和 Maps 中的成员资格?的详细内容。更多信息请关注PHP中文网其他相关文章!