美文网首页
(一)golang工作区

(一)golang工作区

作者: 杰克慢 | 来源:发表于2019-07-01 14:11 被阅读0次

    环境变量介绍

    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后面的最后一个元素是路径,就是目录,并非包名。)

    相关文章

      网友评论

          本文标题:(一)golang工作区

          本文链接:https://www.haomeiwen.com/subject/sukdcctx.html