这是我参与「第五届青训营 」伴学笔记创作活动的第 3 天
本人是一名Java选手,虽说两种语言有些许的相似性,对于 golang 来说,还需要学习很多东西。 要想入门一门语言,其语法是重中之重,打好基础,后期框架的使用才会得心应手。
Go语言的高质量编程
编码规范
学习任何一门语言,都要养成一个良好的编程习惯,编码的风格规范就像是一个人的外表,一个好的外表才能给人深入认识的欲望。
import 分组
导入应该分为两组:
- 标准库
- 其他库
二者不应该杂糅在一起。
包名
当命名包时,需要遵循以下规则进行选择:
- 全部小写。没有大写或下划线。
- 大多数使用命名导入的情况下,不需要重命名。
- 简短而简洁。请记住,在每个使用的地方都完整标识了该名称。
- 不用复数。例如
net/url,而不是net/urls。 - 不要用“common”,“util”,“shared”或“lib”。这些是不好的,信息量不足的名称。
函数的分组
- 函数应按粗略的调用顺序排序。
- 同一文件中的函数应按接收者分组。
因此,导出的函数应先出现在文件中,放在struct, const, var定义的后面。
减少嵌套和不必要的else
对于未导出的顶层常量和变量,使用_作为前缀
在未导出的顶级vars和consts, 前面加上前缀_,以使它们在使用时明确表示它们是全局符号。
顶级变量和常量具有包范围作用域。使用通用名称可能很容易在其他文件中意外使用错误的值。
const (
_defaultPort = 8080
_defaultUser = "user"
)
本地变量声明
如果将变量明确设置为某个值,则应使用短变量声明形式 (:=)。
对于 nil 是一个有效的 slice
nil是一个有效的长度为 0 的 slice,如果需要返回一个空的切片,应该通过返回nil来代替。