例如,一个简单的空字符串检查:
if s == "" { return 0 }
或者,一个用 -1 预填充数组的 for 循环(我认为没有更简单的方法可以做到这一点):
for i := range m { m[i] = -1 }
这通常是不鼓励的,即使这些功能非常简单吗?我并不是要学究气,但我通常很好奇对此的看法是什么。
最佳答案
通常,Go 中的文化是按照命令 go fmt
的方式格式化代码。会格式化它。 (链接文章中有可接受样式的原因。)
在一定程度上,go fmt
将结构化语句主体放在单独的行中意味着是的,这种做法在社区中是“不鼓励的”,但这只是因为希望有一个共同的外观尽可能多的 Go 源代码。
为什么单行代码不是 go fmt
的一部分的原因与 go fmt
被选为规范的风格。如果你想争论单行代码的优缺点,你可以看看几乎所有大括号语言中的争论,因为它们并不是 Go 独有的。当然,Go 强制使用大括号确实使这个问题与 C 或 Java 等问题略有不同,在 C 或 Java 中,没有大括号的主体意味着更难“在主体中添加新语句”,但基本上许多相同的可读性论点确实适用。
关于for-loop - 是否不鼓励在 Go 中使用单行 for 循环或 if 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52381395/