Go 语言对代码风格进行了强制性统一,其代码风格要求如下:

1. Public 变量/函数必须以大写字母开头,Private 变量/函数必须以小写字母开头

Private 函数只能在本包中使用,Public 函数可以被其他包调用。

2. { } 书写应遵循 K&R 风格

譬如以下风格是正确的:

1
2
3
if expression {
...
}

而以下风格是错误的:

1
2
3
4
if expression 
{
...
}

原因可参见第 4 点

3. 不得包含在源代码文件中没有用到的包或声明在源代码文件中未使用的变量

4. 不需要在语句或声明末尾添加分号,除非一行上有多条语句

实际上,编译器会主动把特定符号后的换行副转换为分号,因此换行符添加的位置会影响 Go 代码的解析。

比如行末是标识符、整数、浮点数、虚数、字符或字符串文字、关键字 break、continue、fallthrough、return 中的一个、运算符和分隔符 ++、--、)、]、} 中的一个。

这也是为什么 Go 语言中 { } 需要遵循 K&R 风格的原因。