【发布时间】:2012-03-10 00:57:28
【问题描述】:
我有这个示例代码,我在其中定义了一个数组,但它没有编译:
$ cat a.go
package f
func 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.go
package f
func t() []int {
arr := [] int {
1,
2 }
return arr
}
oreyes@OREYES-WIN7 ~/code/go
$ go build a.go
怎么会?
【问题讨论】: