Go 无法将复合文字与map[string][]结构一起使用

Go 无法将复合文字与map[string][]结构一起使用,go,Go,我试图在映射中使用复合文字,但无法使用它,因为它显示了一些错误 请在下面查找代码 我是Golang的新手,可能对复合文字的理解比较少 类型评估结构{ StructuringForce映射[string][]StructuringForce } 类型StructuringForce结构{ 原则映射[字符串][]功能 } 类型能力结构{ } c1:=能力{} a1:=评估{ StructuringForce:map[string][]StructuringForce{ “信息系统”[]Structu

我试图在映射中使用复合文字,但无法使用它,因为它显示了一些错误

请在下面查找代码

我是Golang的新手,可能对复合文字的理解比较少

类型评估结构{
StructuringForce映射[string][]StructuringForce
}
类型StructuringForce结构{
原则映射[字符串][]功能
}
类型能力结构{
}
c1:=能力{}
a1:=评估{
StructuringForce:map[string][]StructuringForce{
“信息系统”[]StructuringForce{
结构力{
原则:映射[字符串][]功能{
“IT服务集成”[]功能{
c1,
},
},
},
},
},
}
当用复合文本构造“a1”时,我得到“映射文本中缺少键错误”

但是我可以看到我添加了键。

正如前面指出的,
make
不能与文本一起使用。在您的情况下,它可以是:

make(映射[string][]StructuringForce)

map[string][]StructuringForce{}{}
其次,对于golang
map
,它使用
来分隔键值,因此应该如下所示:

a:=map[string]string{
“foo”:“bar”,
}
第三,您没有定义
功能
,因此我想您正在尝试执行
功能

总之,
main
func中的整个内容应该如下所示:

c1:=能力{}
a1:=评估{
StructuringForce:map[string][]StructuringForce{
“信息系统”:[]StructuringForce{
结构力{
原则:映射[字符串][]功能{
“IT服务集成”:[]功能{
c1,//此处也缺少逗号
},
},
},
},
},
}
但是,根据粘贴的内容,我建议您从一些简单的内容开始学习语法,以及如何编写
映射,如


另一个建议是,在发布SO问题时,您可以将正在运行的代码包装在
main
func中,这将使其他试图提供帮助的人更容易和更容易理解该问题。

“我遇到语法错误”-您需要在问题中包含逐字记录。您不能将
make
与文字一起使用。只需写下文字,无make.@下划线\u d-请查看已编辑的问题。我已经添加了错误行。@Volker-请查看已编辑的代码。。我删除了make(),只使用了文本。问题仍然是映射文本使用
来区分键和值,而不是
。请参加Go now(再次)之旅,以熟悉基本语法。