mirror of
https://github.com/gopl-zh/gopl-zh.github.com.git
synced 2024-12-01 02:28:56 +00:00
42 lines
2.3 KiB
Markdown
42 lines
2.3 KiB
Markdown
## 10.7. 工具
|
||
|
||
本章剩下的部分将讨论Go语言工具箱的具体功能,包括如何下载、格式化、构建、测试和安装Go语言编写的程序。
|
||
|
||
Go语言的工具箱集合了一系列功能的命令集。它可以看作是一个包管理器(类似于Linux中的apt和rpm工具),用于包的查询、计算包的依赖关系、从远程版本控制系统下载它们等任务。它也是一个构建系统,计算文件的依赖关系,然后调用编译器、汇编器和链接器构建程序,虽然它故意被设计成没有标准的make命令那么复杂。它也是一个单元测试和基准测试的驱动程序,我们将在第11章讨论测试话题。
|
||
|
||
Go语言工具箱的命令有着类似“瑞士军刀”的风格,带着一打的子命令,有一些我们经常用到,例如get、run、build和fmt等。你可以运行go或go help命令查看内置的帮助文档,为了查询方便,我们列出了最常用的命令:
|
||
|
||
```
|
||
$ go
|
||
...
|
||
build compile packages and dependencies
|
||
clean remove object files
|
||
doc show documentation for package or symbol
|
||
env print Go environment information
|
||
fmt run gofmt on package sources
|
||
get download and install packages and dependencies
|
||
install compile and install packages and dependencies
|
||
list list packages
|
||
run compile and run Go program
|
||
test test packages
|
||
version print Go version
|
||
vet run go tool vet on packages
|
||
|
||
Use "go help [command]" for more information about a command.
|
||
...
|
||
```
|
||
|
||
为了达到零配置的设计目标,Go语言的工具箱很多地方都依赖各种约定。例如,根据给定的源文件的名称,Go语言的工具可以找到源文件对应的包,因为每个目录只包含了单一的包,并且包的导入路径和工作区的目录结构是对应的。给定一个包的导入路径,Go语言的工具可以找到与之对应的存储着实体文件的目录。它还可以根据导入路径找到存储代码的仓库的远程服务器URL。
|
||
|
||
{% include "./ch10-07-1.md" %}
|
||
|
||
{% include "./ch10-07-2.md" %}
|
||
|
||
{% include "./ch10-07-3.md" %}
|
||
|
||
{% include "./ch10-07-4.md" %}
|
||
|
||
{% include "./ch10-07-5.md" %}
|
||
|
||
{% include "./ch10-07-6.md" %}
|