刚开始学习Go,我需要字符串的Map,我从字面上初始化。
mapa := map[string]string{
"jedan":"one",
"dva":"two"
}
字符串
但是编译器正在抱怨syntax error: need trailing comma before newline in composite literal
因此,我必须在"two",
之后添加逗号或删除一个新行,并在最后一个值之后添加}
,以便编译器满意
这是代码风格的预期行为吗?
编辑:要明确follwing将编译和工作
mapa := map[string]string{
"jedan":"one",
"dva":"two" }
型
Mac OSX 10.9.5
3条答案
按热度按时间hzbexzde1#
Go语言中有一个子对象,但是你看不到它们,因为它们是由lexer自动插入的。
分号插入规则:
如果行的最后一个标记是
所以这个:
字符串
实际上是:
型
这是无效的去吧。
rdlzhqv92#
是的。你应该选择加逗号。
用这种方式编辑map/slice文字要简单得多:你可以复制粘贴,移动项目,而不用担心最后一个项目后面不应该有逗号。
事实上,你也可以在PHP、JavaScript和许多其他语言中做同样的事情。
tvz2xvvm3#
mapa:=[]map{“jedan”:“one”,“dva”:“two”}