登录
首页 >  Golang >  Go问答

为什么golang的go fmt不会格式化括号?

来源:stackoverflow

时间:2024-03-15 08:36:29 291浏览 收藏

本篇文章给大家分享《为什么golang的go fmt不会格式化括号?》,覆盖了Golang的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一定的认识(B 数),从而弥补自己的不足,更好的掌握它。

问题内容

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

预期声明,找到“{”

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

我希望正确格式化的相关基本代码:

package main

func main()
{
    println("Learning go again")
}

解决方案


go 对于什么是有效代码有一些非常强烈的观点。
这是其中之一。与许多其他 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")
}

今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>