当前位置: 首页 > 面试题库 >

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

屠盛
2023-03-14
问题内容

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

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


问题答案:

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.")
}


 类似资料:
  • 问题内容: Go是否支持lambda表达式或类似内容? 我想从使用lambda表达式(Ruby)的另一种语言移植库。 问题答案: 这是一个示例,请仔细复制并粘贴:

  • 问题内容: C#属性(我的意思是get和set方法)是一个非常有用的功能。Java是否也具有类似于C#属性的内容。我的意思是我们如何在Java中实现类似以下C#代码的内容: 问题答案: 不,Java没有等效性。它只有访问器和更改器方法,以及getter和setter方法的奇特名称。例如:

  • 问题内容: 我正在写a 来检查许多文件中某些变量的存在以及检查那些变量的某些值的存在。但是,我的代码由于遇到无效的变量名而停止执行。 我知道我将Java和Stata编码混合在一起,这是完全不合适的,但是有什么办法可以执行以下操作: 问题答案: 简短的回答是。稍长一点的答案是,通过类比猜测语法可能成功的可能性很小。最好阅读Stata的文档,例如,从略读[P]手册中的主要条目开始。 这里被困的问题是不

  • 本文向大家介绍MySQL是否具有类似于PostgreSQL的扩展输出标志?,包括了MySQL是否具有类似于PostgreSQL的扩展输出标志?的使用技巧和注意事项,需要的朋友参考一下 是的,您可以使用/ G(而不是分号(;))在MySQL中进行扩展。语法如下 让我们首先创建一个表作为示例 使用insert命令在表中插入一些记录。 查询如下 使用select语句显示表中的所有记录。 查询如下 以下是

  • 问题内容: Python具有不错的功能。是否有等效的PHP? 问题答案: 只要所有数组的长度相同,就可以将with 作为第一个参数使用。 如果某些数组较短,则将使用null填充最长数组的长度,这与python不同,返回的结果是最短数组的长度。

  • 问题内容: 我认为在Ruby中,您可以调用一个尚未定义的方法,然后捕获被调用方法的名称,并在运行时对该方法进行处理。 Javascript可以做同样的事情吗? 问题答案: 由于Python中不存在method_missing,因此method_missing不太适合JavaScript:在两种语言中,方法只是碰巧是函数的属性;对象通常具有不可调用的公共属性。与Ruby相比,Ruby的对象的公共接口