For loop 是否不鼓励对循环或Go中的if语句使用一行程序?

For loop 是否不鼓励对循环或Go中的if语句使用一行程序?,for-loop,if-statement,go,For Loop,If Statement,Go,例如,对空字符串的简单检查: if s == "" { return 0 } 或者,使用for循环预填充-1数组(我认为没有更简单的方法): 即使这些函数都非常简单,也不鼓励这样做吗?我并不是故意装腔作势,但我总的来说很好奇这种感觉是什么。一般来说,围棋的文化是按照命令的格式来格式化代码。(链接文章中列出了存在公认风格的原因。) 在某种程度上,go-fmt将结构化语句体放在不同的行上意味着是的,这种做法在社区中是“不受欢迎的”,但这只是因为希望有一个尽可能多的go源代码的通用外观 单行程序不属

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

if s == "" { return 0 }
或者,使用for循环预填充-1数组(我认为没有更简单的方法):


即使这些函数都非常简单,也不鼓励这样做吗?我并不是故意装腔作势,但我总的来说很好奇这种感觉是什么。

一般来说,围棋的文化是按照命令的格式来格式化代码。(链接文章中列出了存在公认风格的原因。)

在某种程度上,
go-fmt
将结构化语句体放在不同的行上意味着是的,这种做法在社区中是“不受欢迎的”,但这只是因为希望有一个尽可能多的go源代码的通用外观


单行程序不属于
go-fmt
的原因与选择
go-fmt
作为规范样式的事实并不相关。如果你想争论一句话的利弊,你可以看看几乎用任何花括号语言进行的辩论,因为它们不是独一无二的。当然,Go对大括号的强制要求确实使问题与C或Java略有不同,比如说,在C或Java中,无支撑的主体意味着“在主体中添加新语句”更加困难,但基本上许多相同的可读性参数确实适用。

代码约定是某些人的首选项。没有必要,它背后总是有一些基本原理,重要的是每个人都遵循它们。这不是gofmt'ed代码。没有人对阅读或讨论非fmt代码感兴趣。
for i := range m { m[i] = -1 }