风格
关于编码风格这一块Go是强制所有人统一同一种风格,Go官方提供了一个格式化工具gofmt,通过命令行就可以使用,该格式化工具没有任何的格式化参数可以传递,仅有的两个参数也只是输出格式化过程,所以完全不支持自定义,也就是说所有通过此工具的格式化后的代码都是同一种代码风格,这会极大的降低维护人员的心智负担,所以在这一块追求个性显然是一个不太明智的选择。
- 花括号,关于花括号{}到底该不该换行,几乎每个程序员都能说出属于自己的理由,在Go中所有的花括号都不应该换行。
// 正确示例
func main() {
fmt.Println("Hello 世界!")
}
// 错误示例
func main()
{
fmt.Println("Hello 世界!")
}
- 缩进,Go默认使用
tabs也就是制表符进行缩进,仅在一些特殊情况会使用空格。
- 间隔,Go中大部分间隔都是有意义的,从某种程度上来说,这也代表了编译器是如何看待你的代码的,例如下方的数学运算
2*9 + 1/3*2
众所周知,乘法的优先级比加法要高,在格式化后,*符号之间的间隔会显得更紧凑,意味着优先进行运算,而+符号附近的间隔则较大,代表着较后进行运算。
- 还是花括号,花括号在任何时候都不能够省略,就算是只有一行代码。
// 正确示例
if a > b {
a++
}
// 错误示例
if a > b a++
文章评论