刚开始学习Go,我需要字符串字符串的映射,我按字面意思初始化.
mapa := map[string]string{
"jedan":"one",
"dva":"two"
}
Run Code Online (Sandbox Code Playgroud)
但编译器抱怨 syntax error: need trailing comma before newline in composite literal
所以我不得不添加昏迷"two",或删除一个新行,并}在编译器的最后一个值后感到高兴
这是代码风格的预期行为吗?
编辑:要明确以下将编译和工作
mapa := map[string]string{
"jedan":"one",
"dva":"two" }
Run Code Online (Sandbox Code Playgroud)
go version go1.4.2 darwin/amd64 Mac OSX 10.9.5
thw*_*hwd 43
Go有分号,但你没有看到它们,因为它们是由词法分析器自动插入的.
如果行的最终标记是,则在非空行的末尾自动将分号插入标记流
- 整数,浮点,虚数,符文或字符串文字
所以这:
mapa := map[string]string{
"jedan": "one",
"dva": "two"
}
Run Code Online (Sandbox Code Playgroud)
实际上是:
mapa := map[string]string{
"jedan": "one",
"dva": "two"; // <- semicolon
}
Run Code Online (Sandbox Code Playgroud)
哪个是无效的Go.
Elw*_*nar 14
是的.你应该选择添加的逗号.
以这种方式编辑地图/切片文字要简单得多:你可以复制贴纸,移动项目而不必担心最后一项不应该跟逗号这一事实.
实际上,您也可以使用PHP,JavaScript和许多其他语言执行相同的操作.
| 归档时间: |
|
| 查看次数: |
6448 次 |
| 最近记录: |