刚开始学习围棋,我需要字符串的 map ,我按字面初始化.

mapa := map[string]string{
        "jedan":"one",
        "dva":"two"
       }

但是编译器抱怨syntax error: need trailing comma before newline in composite literal

所以我必须在"two",后加上coma,或者删除一行,最后一个值后加上},编译器才会高兴

这是代码样式的预期行为吗?

编辑:明确地说,以下内容将编译并运行

mapa := map[string]string{
        "jedan":"one",
        "dva":"two"  }

go version go1.4.2 darwin/amd64个Mac OSX 10.9.5

推荐答案

Go有分号,但你看不到,因为它们是由lexer自动插入的.

Semicolon insertion rules:

如果行的最终令牌为,则会在非空行的末尾自动将分号插入令牌流

  • 整数、浮点、虚数、符文或string literal

所以这就是:

mapa := map[string]string{
    "jedan": "one",
    "dva":   "two"
}

实际上是:

mapa := map[string]string{
    "jedan": "one",
    "dva":   "two";  // <- semicolon
}

这是无效的围棋.

Go相关问答推荐

你能把用户界面文件中的GTK4应用程序窗口添加到GTK4应用程序中吗?

golang 的持久隐蔽服务

由docker中的nginx提供的样式和图像在页面上不起作用

Golang内置打印(Ln)函数&S行为怪异

go aws-lambda 与 terraform 中的 exec 格式错误

如何确定泛型类型在运行时是否可比较?

当我有外键时,如何使用 GORM 创建数据库的新条目

是否需要手动调用rand.Seed?

Golang 到 wasm 编译使用 tinygo.使用 wasmtime 执行

在密钥不存在时处理 PATCH 部分更新

Gremlin-Go:树步骤不可序列化

go-libp2p - 从流中接收字节

Golang 构建多平台问题

Golang计算 struct struct 中的字段数

如何将多个切片打印为一个切片?

Golang:隐式 struct 匹配

无法建立连接,因为目标机器主动拒绝它 Golang

将 Golang Gin 与 AWS Lambda 和无服务器与代理路径一起使用

Go 导入范围查找 protobuf 类型

如何使用带有Electron 表格 ID、Electron 表格名称、表格 ID 和值的 golang 在 googlesheet 中插入数据