我在定义数组的地方有以下示例代码,但无法编译:$ cat a.gopackage ffunc t() []int { arr := [] int { 1, 2 } return arr}oreyes@OREYES-WIN7 ~/code/go$ go build a.go# command-line-arguments.\a.go:5: syntax error: unexpected semicolon or newline, expecting }.\a.go:7: non-declaration statement outside function body.\a.go:8: syntax error: unexpected }但是,如果我删除换行符,它将起作用:$ cat a.gopackage ffunc t() []int { arr := [] int { 1, 2 } return arr}oreyes@OREYES-WIN7 ~/code/go$ go build a.go怎么来的?
2 回答
慕的地6264312
TA贡献1817条经验 获得超6个赞
只需,在包含数组元素的所有行的末尾添加一个逗号():
arr := [] func(int) int {
func( x int ) int { return x + 1 },
func( y int ) int { return y * 2 }, // A comma (to prevent automatic semicolon insertion)
}
- 2 回答
- 0 关注
- 336 浏览
添加回答
举报
0/150
提交
取消