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

Go,Golang:结构中的数组类型,缺少类型的复合文字

公西翊歌
2023-03-14
问题内容

我需要将切片类型添加到此结构。

 type Example struct {
    text  []string
 }

 func main() {
    var arr = []Example {
        {{"a", "b", "c"}},
    }
    fmt.Println(arr)    
 }

然后我得到

  prog.go:11: missing type in composite literal
  [process exited with non-zero status]

所以指定复合文字

    var arr = []Example {
         {Example{"a", "b", "c"}},

但是仍然出现此错误:

    cannot use "a" (type string) as type []string in field value

http://play.golang.org/p/XKv1uhgUId

我该如何解决?如何构造包含array(slice)类型的结构?


问题答案:

这是您正确的Example结构片段:

[]Example{
  Example{
   []string{"a", "b", "c"},
  },
}

让我解释一下。您想切成薄片Example。所以这里是— []Example{}。然后,必须在其中填充Example-
Example{}Example依次由[]string— 组成[]string{"a", "b", "c"}。这只是适当语法的问题。

希望能有所帮助。



 类似资料:
  • 问题内容: 简单的问题。如何初始化这个结构?我想做这样的事情: 预计我会遇到错误: 当然,我可以创建一个单独的结构B并通过以下方式对其进行初始化: 但是它没有第一种方法有用。有没有初始化匿名结构的捷径? 问题答案: 该可转让规则是宽容的,这导致另一种可能性,你可以保留的原始定义匿名类型写入,同时允许该类型的短复合文字。如果您确实坚持使用该字段的匿名类型,那么我可能会写类似以下内容: 操场 输出量

  • 1. 复合类型与结构体 在编程语言中,最基本的、不可再分的数据类型称为基本类型(Primitive Type),例如整型、浮点型;根据语法规则由基本类型组合而成的类型称为复合类型(Compound Type),例如字符串是由很多字符组成的。有些场合下要把复合类型当作一个整体来用,而另外一些场合下需要分解组成这个复合类型的各种基本类型,复合类型的这种两面性为数据抽象(Data Abstraction

  • 问题内容: 我有以下几种类型: 我可以使用use ,但是我 不能 使用 似乎可以嵌入语法,但是使用它无效吗? 问题答案: 嵌入式类型是(未命名的)字段,由不合格的类型名称引用。 规格:结构类型: 使用类型但没有显式字段名称声明的字段是 匿名字段 ,也称为 嵌入式 字段或该类型在结构中的嵌入。必须将嵌入式类型指定为类型名称或指向非接口类型名称的指针,并且本身不能为指针类型。 非限定类型名称充当字段名

  • 问题内容: 我是Go编程语言的新手,我有一个创建和解释器的任务,但是我遇到了以下问题: 我想将环境定义为: 但是我收到错误“无效的递归类型环境”。根据我的研究,我将父级更改为 Environment。但是现在,当我需要创建一个环境类型为var的新环境时,它会收到错误消息“无法将fun_Val.ds(环境类型)用作 环境值类型”。我正在如下创建环境: 我试图将这篇文章中的代码量限制在一定范围内,但是

  • 1. HttpTransfer无法解析为类型 2.来自AndroidHttp类型的方法newCompartbleTransport()是指缺少的HttpTransment类型 我在libs文件夹中添加了以下jar文件: google-api-client-android-1.18.0-rc.jar google-api-services-drive-v2-rev1-1.7.2-beta.jar g

  • 我试图从后端服务器检索数据,但我得到以下错误:类型'订阅'缺少类型'HomeData'中的以下属性:aSes、聚合器更改、公告、beacon公告和11个以上。 我正在使用以下服务 以及以下界面: 我在组件中调用getData(),如下所示: 我把所有这些都放在我的html模板中