美文网首页
Go知识随记

Go知识随记

作者: _张鹏鹏_ | 来源:发表于2022-04-05 22:06 被阅读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 下。

    • go mod tidy :添加缺少的包,且删除无用的包。

    参考文献:

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

    相关文章

      网友评论

          本文标题:Go知识随记

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