golang的go fmt是否不格式化括号?

因此,我一直在尝试再次使用golang,我记得go有一个格式化工具可以清理您的源代码。因此,当我go fmt在项目上运行时,会吐出以下错误:


expected declaration, found '{'


我期望go fmt能够修正括号以遵守go的语法要求,但它只会吐出一个错误。这是预期的功能还是应该将括号实际放在正确的行上(与函数声明相同)?


我期望正确格式化的有问题的基本代码:


package main


func main()

{

    println("Learning go again")

}


MM们
浏览 253回答 1
1回答

POPMUISE

对于有效的代码,Go提出了一些非常强烈的意见。这是其中一种情况。与许多其他C系列语言不同,C语言允许将函数体声明的大括号放在同一行或下一行(如果您愿意,甚至可以在其后十行),Go编译器只允许将其放在同一行。另一个示例是else语句。用其他语言if {}else {}可能是有效的甚至是首选的,在Go中仅编译else语句的形式为if {} else {}在go fmt将修复空或缺少空间,但:func main()             {    fmt.Println("Hello, playground")}func main(){   fmt.Println("Hello, playground")}都将成为func main() {   fmt.Println("Hello, playground")}
打开App,查看更多内容
随时随地看视频慕课网APP