Go 报错:unexpected newline, expecting comma or }

Go

为什么下面程序无法编译?

func main() {
    fruit := []string{
        "apple",
        "banana",
        "cherry"
    }
    fmt.Println(fruit)
}
../main.go:5:11: syntax error: unexpected newline, expecting comma or }

答案

在多行切片,数组或映射文字中,每行必须以逗号结尾

func main() {
    fruit := []string{
        "apple",
        "banana",
        "cherry", /添加了逗号
    }
    fmt.Println(fruit) // "[apple banana cherry]"
}

这种行为是Go 分号插入规则的结果。

因此,您可以在不修改周围代码的情况下添加和删除行。

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://yourbasic.org/golang/gotcha-miss...

译文地址:https://learnku.com/go/t/46484

本文为协同翻译文章,如您发现瑕疵请点击「改进」按钮提交优化建议
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!