Go知识随记

2022-04-05  本文已影响0人  _张鹏鹏_

教程:

Go编程时光 — Go编程时光 1.0.0 documentation (iswbm.com)

常用命令:

go build:

完成源码的编译与可执行文件的生成。

如果参数为go文件或文件列表,则编译为一个个单独的包。

当编译单个main包(文件),则生成可执行文件。

当编译单个或多个包非主包时,只构建编译包,但丢弃生成的对象(.a),仅用作检查包可以构建。

当编译包时,会自动忽略'_test.go'的测试文件。

有用的命令选项:

选项
-n 打印编译时会用到的所有命令,但不真正执行
-x 打印编译时会用到的所有命令
-o output 指定编译输出的名称,代替默认的包名。

go run:

简单理解,go run 可等价于 go build + 执行。

go run不会将临时生成的可执行文件拷贝到当前目录。

go install:

go install 只是将编译的中间文件放在 GOPATH 的 pkg 目录下,以及固定地将编译结果放在 GOPATH 的 bin 目录下。

这个命令在内部实际上分成了两步操作:

  1. 第一步是生成结果文件(可执行文件或者 .a 包)。
  2. 第二步会把编译好的结果移到 $GOPATH/pkg 或者 $GOPATH/bin

go get:

go get 命令可以借助代码管理工具通过远程拉取或更新代码包及其依赖包,并自动完成编译和安装。

这个命令在内部实际上分成了两步操作:第一步是下载源码包,第二步是执行 go install。

参考文献:

  1. go build命令详解
  2. go get命令

Modules:

有了go modules后,可以不再依靠 $GOPATH,使得它可以脱离 $GOPATH 来创建项目。

进入项目目录,执行命令进行 go modules 的初始化:

go mod init  模块名字

初始化后,会生成 go.mod 文件。

项目中import到的第三方库,需要使用go get来下载,在开启了go modules情况下,go get的文件会下载到$GOPATH/pkg/mod 下。

参考文献:

  1. Go Modules 前世今生及入门使用
  2. iswbm (王炳明) (github.com)
  3. Go 模块--开始使用 Go Modules - 知乎 (zhihu.com)
上一篇下一篇

猜你喜欢

热点阅读