猿问

是否不鼓励在 Go 中使用单行 for 循环或 if 语句?

例如,对空字符串的简单检查:

if s == "" { return 0 }

或者,一个用 -1 预填充数组的 for 循环(我认为没有更简单的方法可以做到这一点):

for i := range m { m[i] = -1 }

这通常是不鼓励的,即使这些功能非常简单吗?我并不是要学究气,但我通常很好奇对此的看法是什么。


蝴蝶刀刀
浏览 105回答 1
1回答

慕的地10843

通常,Go 中的文化是按照命令格式化代码的方式格式化go fmt代码。在某种程度上,go fmt将结构化语句主体放在不同的行上意味着是的,这种做法在社区中是“不鼓励的”,但这只是因为希望对尽可能多的 Go 源代码有一个共同的看法。单行不属于的原因与被选为规范样式的事实go fmt并不相关。go fmt如果你想争论单行代码的优缺点,你可以看看几乎所有大括号语言中的争论,因为它们并不是 Go 独有的。当然,Go 强制使用大括号确实使这个问题与 C 或 Java 等问题略有不同,在 C 或 Java 中,没有大括号的主体意味着更难“在主体中添加新语句”,但基本上许多相同的可读性论点确实适用。
随时随地看视频慕课网APP

相关分类

Go
我要回答