Golang Go语言中为什么gofmt一定要把单行的if return搞成3行 能配置成一行吗

发布于 1周前 作者 songsunli 来自 Go语言

null
Golang Go语言中为什么gofmt一定要把单行的if return搞成3行 能配置成一行吗

10 回复

你要适应 go 的语法风格方式,被强迫的方式。

更多关于Golang Go语言中为什么gofmt一定要把单行的if return搞成3行 能配置成一行吗的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


gofmt 存在的意义就是工程优先, 大家都一样, 不争不吵专心干活儿, 看谁的代码都舒服.

所以, 就是一定, 不要尝试配置.

好的,那我就忍了

go fmt 没有任何配置参数,这是它的特色(以前有配置参数,被当作 BUG 处理掉了)。
省得大家为了配置参数再打起来

不过讲真的,运算符不带空格地挤在一起,看起来真的辣眼睛

更辣眼睛的是一会儿要求带空格,一会儿要求不带空格,每次提交代码都能在 commit 里找到一堆空格的变更……

其实我每次都觉得,写 go 比写 py 还爽。每次 C+x-s 都会 fmt 一下,代码风格立马统一。虽说 py 的强制缩进,blabla 好,但是,这也导致了,没有办法去 fmt 它呀。

你可能需要:PEP 8

用 pycharm 自带 pep8,你就会发现 py 的格式化真的很严格。

在Go语言中,gofmt 工具是用于自动格式化Go代码的标准工具,它确保了代码的一致性和可读性。gofmt 遵循的是Go社区广泛接受的编码风格规范,这一规范被称为“Go Code Review Comments”。

关于单行 if return 语句被 gofmt 转换为三行的问题,这主要是出于代码可读性的考虑。将条件判断和返回值分开到多行,可以使代码结构更清晰,易于理解和维护。尤其是在复杂的条件判断或需要添加额外逻辑时,多行格式提供了更大的灵活性。

虽然 gofmt 的默认行为是将单行的 if return 转换为三行,但 gofmt 本身并不提供直接配置来改变这一行为的选项。Go语言的设计哲学强调简洁和一致性,而 gofmt 正是这一哲学的体现。

如果你希望保持单行的 if return 语句,你可能需要手动格式化代码,或者在项目中使用其他代码格式化工具(如果有的话),但这些工具可能仍然需要自定义配置来支持你的需求。然而,这样做可能会违背Go社区的编码风格规范,从而影响到代码的可读性和可维护性。

总的来说,遵循 gofmt 的默认格式化和Go社区的编码风格规范,将有助于你写出更标准、更易读的Go代码。

回到顶部