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

类型接口{}不支持golang中的索引编制

胡霖
2023-03-14
问题内容

我有这样的地图:

Map := make(map[string]interface{})

该映射应该包含从字符串到对象数组的映射。数组可以是不同的类型,例如[]Users[]Hosts。我填充了这个数组:

TopologyMap["Users"] = Users_Array
TopologyMap["Hosts"] = Hosts_Array

但是当我尝试从中获取元素时:

Map["Users"][0]

它给出了一个错误: (type interface {} does not support indexing)

我该如何克服?


问题答案:

您必须将interface {}显式转换为所需类型的切片才能实现。像这样的东西
https://play.golang.org/p/yZmniZwFar



 类似资料:
  • 问题内容: “使用的表类型不支持SPATIAL索引” 当我运行包含“ contains”关键字的查询时,我在MySQL中收到此错误。如何使表支持“空间索引”。查询是 从包含(列,“ 1”)的表中选择* 问题答案: Mysql仅通过* .myisam表(即ISAM引擎)支持空间索引。链接:http://dev.mysql.com/doc/refman/5.0/en/creating-spatial-

  • 我将此表数据导入phpmyadmin: 我看到了这个错误: -- --表 -- 更改表添加主键(),添加FULLTEXT KEY(),添加FULLTEXT KEY();MySQL说:文档 #1214-使用的表类型不支持全文索引 在localhost中,我为title和long_desc添加了,这样就行了,但当我导入时,我看到了这个错误。如何修复此错误?

  • 问题内容: 当使用as函数参数类型,给定非指针类型并与之一起使用时,我在Go中遇到了一个错误。 因为一段代码值得一千个单词,所以下面是一个示例: 哪个输出: 把我的结构变成一个… 稍后再读一些内容,可以解释其中的一部分,它本身就是一种类型,而不是某种无类型的容器,它解释了,以及无法获取初始类型并返回。的事实。 从文档: 要将JSON解组为接口值,Unmarshal将其中之一存储在接口值中:[…]

  • 问题内容: 我从camlistore(http://code.google.com/p/camlistore/source/browse/pkg/cacher/cacher.go)中看到以下语句。 我知道不会创建任何变量,并且这些语句可确保编译器检查CachingFether是否实现StreamingFetcher和SeekFetcher的公共功能。RHS部分使用带有nil参数的指针构造函数语法。

  • 我们解决什么问题 我们知道,JDK中的Cloneable接口只是一个空接口,并没有定义成员,它存在的意义仅仅是指明一个类的实例化对象支持位复制(就是对象克隆),如果不实现这个类,调用对象的clone()方法就会抛出CloneNotSupportedException异常。而且,因为clone()方法在Object对象中,返回值也是Object对象,因此克隆后我们需要自己强转下类型。 泛型克隆接口

  • 问题内容: 目前我有这样的事情 main.go 还有我的工作包 和 我正在传递给NewJob的函数是在goroutine上每2秒执行一次,但是我想访问我传递的匿名结构…但是当我尝试访问时 编号 我越来越 t.Id未定义(类型interface {}是没有方法的接口) 但是打印t给我预期的结果 {1} 问题答案: 您必须先将其声明为兼容类型,然后才能访问其字段。