💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
## 5.2\. 格式化 格式化是一个最有争议的问题。虽然人可以适应各种不同的风格,不过如果大家都遵循一个默认统一的 风格是最理想的。当然,这也是一个仁者见仁、智者见智的问题,不可能有一个终极的理想答案。 对于Go语言,我们采用不同的处理方法:让机器处理绝大部分的格式化工作。工具程序 gofmt可以根据需要将Go代码格式自动格式化为统一的风格。如果你想 了解格式化后代码的缩进方式,你可以直接运行gofmt,然后查看输出结果。 下面是一个例子,我们没有必要花时间手工调整类型中成员注释的对齐方式。Gofmt 可以自动将注释对齐。下面是结果的定义: ``` type T struct { name string // name of the object value int // its value } ``` gofmt处理后的结果: ``` type T struct { name string // name of the object value int // its value } ``` Go语言库中的所有代码都是用gofmt工具格式化的。 格式化的一些细节: 缩进 我们使用tab缩进,gofmt也是默认用tab缩进。当然,也可以指定空白缩进。 行的长度 Go语言代码每行长度没有限制。不用担心一行的代码太长超出显式范围,gofmt会自动 处理太长的行。 小括号 Go语言很少使用括弧:对于控制结构(if,for,switch) 括弧也不是必须的。而且Go中表达式中运算符的优先级比较简洁,例如下面代码: ``` x<<8 + y<<16 ``` 意思是x和y移位后相加。