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

切片作为地图中的关键

芮歌者
2023-03-14
问题内容

可以将切片用作键吗?

我有尝试:

h := map[[]string]string{
  []string{"a", "b"} : "ab",
}

编译器给我一个错误invalid map key type []string。因此,要么不可能,要么我错误地声明了它(如果可以,那么正确的方法是什么?)。


问题答案:

不可以,切片没有定义相等性,因此无法用作映射键。



 类似资料:
  • 当我读到围棋中的片段时,它们似乎足够合理。我知道切片结构具有基于底层数组和当前包含元素长度的容量,并且切片引用底层数组。 然而,当我在玩Go的“Go之旅”时,我不明白为什么下面的内容会降低底层阵列的容量。 结果: 为什么在第一次和第二次调用之间容量发生变化?

  • 在Go中,有没有更简单/更好的方法从地图中获取一部分密钥? 目前,我正在遍历地图并将关键点复制到一个切片:

  • 问题内容: 我有以下代码: 但是我想将一个指向字节切片的指针传递给另一个函数,并在那里切片,所以类似: 它给我一个错误,我不能在函数参数中使用type 作为类型,并且不能对type进行切片。怎么了?默认情况下切片不是通过引用传递的吗?我试图在没有指针的情况下执行此操作,但是它不起作用- 正在复制数组。我怎样才能做到这一点? 问题答案: 该错误来自您尚未发布的拼写错误(您尝试传递一个切片而不是指向的

  • 我试图在另一个片段中显示一个谷歌地图片段,但是我不能操纵地图,我已经把我看到的所有步骤都留档了,但是我不能操纵我的地图。 XML代码: 类片段代码: 主要活动类别代码: } 在调用getMapAsync()后,编辑以下堆栈跟踪: 空指针错误: 12-18 19:51:50.056 11265-11265/ar.com.taxiexpress.taxiexpressE/AndroidRuntime:

  • 问题内容: 考虑这个基准,我们在这里比较地图访问与切换 结果如下: 因此,使用地图似乎比切换要慢。 我目前正在尝试使用类似于的代码来优化功能,其中地图访问是瓶颈,但是由于程序启动时会动态生成地图,因此我无法使用switch(即,它可能会根据输入参数而变化) 有没有办法获得与动态生成的地图类似的性能? 问题答案: 映射不适用,因为索引索引是在运行时评估的,并且从映射中获取元素所涉及的操作比仅进行一次

  • 问题内容: 如何使用功能作为地图的键?例如: 这些代码将显示错误: 问题答案: 您可以使用。