-
Notifications
You must be signed in to change notification settings - Fork 0
/
第 03 章、编辑器、集成开发环境与其它工具
64 lines (36 loc) · 2.57 KB
/
第 03 章、编辑器、集成开发环境与其它工具
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
规范代码的书写格式
go fmt(Go 命令) 或者 gofmt(独立程序)
gofmt [flags] [path...]
没有任何参数时,打印出格式化之后的文件内容
-d 仅打印出原文件与 gofmt 之后不同的地方
-e 打印出所有的错误
-r <rule> 在格式化之前,将对代码执行指定的替换规则
-s 尝试简化代码
-w 将格式化之后的源码写回原文件中
关于 gofmt -r 中的 rule
1、用引号将规则引起来
2、单个小写字母表示字符通配符
EG.
# 将文件中所有不必要的小括号完全去除
gofmt -r '(a) -> a' xxx.go
# 将文件中不需要的 len(a) 移除
gofmt -r 'a[b:len(a)] -> [b:]'
上述原理同 go fmt
包的文档
1、包的文档,可以和源码写在一起,也可以新建一个 doc.go 文件,并将 doc.go 的 package 设置的和包本身一样
2、对于任何一段注释,若一段注释出现在 package <包名> 前,且两者之间没有空行,则该注释为 该 package 的文档
3、对于任何一段注释,只要以 BUG(<非空字符>) 开头,则会出现在文档的 BUGS 区域,为待解决的 BUG
其中,<非空字符> 是和本 BUG 相关的字符串(比如 BUG 的负责人等等)
若 BUG 出现在一个函数的文档处,则该 BUG 也会显示在该函数的文档中
4、在非 main 包中,所有出现在 导出函数、新类型代码块、全局变量代码块、全局常量代码块 前,且两者之间没有空行的注释
都为该 导出函数、新类型代码块、全局变量代码块、全局常量代码块 的文档
5、在非 main 包中,所有 新类型代码块、全局变量代码块、全局常量代码块 的内容,都会出现在包文档中
6、对于任何文档,文档的首行一定是普通的解释文字
上下具有至少一行空行,首字母大写,且没有标点的单词或短语,作为段落的标记,加粗蓝色显示
具有至少一行缩进的,会显示为灰色底色,一般表示代码
7、在 *_test.go 测试文件中,有效的 Example 函数 和 Example_xxx 函数 的文档和函数本身都会出现在文档的全局样例中
8、在 *_test.go 测试文件中,有效的 Example<函数名> 函数 和 Example<函数名>_xxx 函数 的文档和函数本身都会出现在文档的函数样例中
go build 和 go install
go build 仅将 main 包在源码的位置编译为可执行文件
go install 可以编译 main 包和 非 main 包,并把编译结果放置在相应的位置中
go fix 将使用旧版 Go 标准库 API 的代码,升级为使用新版 Go 标准库的 API