33

(一)golang工作区

 5 years ago
source link: https://studygolang.com/articles/16145?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

环境变量介绍

GOROOT:Golang的安装路径。

GOPATH:可以理解为工作目录或者工作区,也是平时接触最多的一个变量。它可以是一个目录,可以是多个目录路径,每个目录代表一个工作区。这些目录用于放置Go语言的源码文件(src),以及安装(命令go install)后的归档文件(pkg目录)和可执行文件(bin目录)。

GOBIN:GOROOT目录下的可执行文件放置目录,一般指bin。

理解构建和安装Go的过程

go build命令

go build 有很多种编译方法,如无参数编译、文件列表编译、指定包编译等,使用这些方法都可以输出可执行文件。

go build 还有一些附加参数,可以显示更多的编译信息和更多的操作,详见下表所示。

go build编译时的附加参数
-v    编译时显示包名
-p n    开启并发编译,默认情况下该值为 CPU 逻辑核数
-a    强制重新构建
-n    打印编译时会用到的所有命令,但不真正执行
-x    打印编译时会用到的所有命令
-race    开启竞态检测

go run 命令

go run 命令会编译源码,并且直接执行源码的 main() 函数,不会在当前目录留下可执行文件。

工作目录被设置为当前目录。在 go run 的后部可以添加参数,这部分参数会作为代码可以接受的命令行输入提供给程序。

go run 不能使用“go run+包”的方式进行编译,如需快速编译运行包,需要使用如下步骤来代替:

1、使用 go build 生成可执行文件。
2、运行可执行文件。

go install 命令

go install 的功能和 go build 类似,附加参数绝大多数都可以与 go build 通用。go install 只是将编译的中间文件放在 GOPATH 的 pkg 目录下,以及固定地将编译结果放在 GOPATH 的 bin 目录下。

go install 的编译过程有如下规律:
go install 是建立在 GOPATH 上的,无法在独立的目录里使用 go install。
GOPATH 下的 bin 目录放置的是使用 go install 生成的可执行文件,可执行文件的名称来自于编译时的包名。
go install 输出目录始终为 GOPATH 下的 bin 目录,无法使用-o附加参数进行自定义。
GOPATH 下的 pkg 目录放置的是编译期间的中间文件。

go get命令

go get使用时的附加参数

使用 go get 时可以配合附加参数显示更多的信息及实现特殊的下载和安装操作,详见下表所示。

go get 使用时的附加参数
附加参数    备  注
-v    显示操作流程的日志及信息,方便检查错误
-u    下载丢失的包,但不会更新已经存在的包
-d    只下载,不安装
-insecure    允许使用不安全的 HTTP 方式进行下载操作

golang 包命名规则

第一条规则,同目录下的源码文件的代码包声明语句要一致。也就是说,它们要同属于一个代码包。这对于所有源码文件都是适用的。
第二条规则,源码文件声明的代码包的名称可以与其所在的目录的名称不同。在针对代码包进行构建时,生成的结果文件的主名 
称与其父目录的名称一致。(import后面的最后一个元素是路径,就是目录,并非包名。)

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK