4.01 Go 编译并安装应用程序|Go主题月

276 阅读1分钟

  上几章节中介绍了我们如何编写模块以及模块的运行,最后我们都是使用的是go run .命令去运行,但是,go run命令是在频繁更改时编译和运行程序的有效快捷方式,但它不会生成二进制可执行文件。

  • go build 命令编译包及其依赖项,但不安装结果。
  • go install 命令编译并安装这些包。

代码编写

  1. hello目录中的命令行,运行go build命令,将代码编译为可执行文件。

    go build
    

    执行之后,我们发现文件夹下面多出了一个可执行文件。

    image.png

  2. 寻找Go安装路径,Go命令将安装当前包。

    [root@montos-prod hello]# go list -f '{{.Target}}'
     /root/go/example/bin/hello
    
  3. 将当前go程序配置到系统环境变量中。
    linux or mac

    $ export PATH=$PATH:/path/to/your/install/directory
    

    window

    $ set PATH=%PATH%;C:\path\to\your\install\directory
    

    另外,如果你的shell路径中已经有一个像$HOME/bin这样的目录,你想在那里安装Go程序,你可以通过使用Go env命令设置GOBIN变量来改变安装目标:

    $ go env -w GOBIN=/path/to/your/bin
    
  4. 更新完shell路径后,运行go install命令编译并安装包。

    go install
    
  5. 现在只需输入应用程序的名称即可运行应用程序。

    [root@montos-prod hello]# hello
     map[Darrin:Great to see you, Darrin! Gladys:Hi, Gladys. Welcome! Samantha:Hail, Samantha! Well met!]
    

总结

  以上介绍了如何将我们的代码编译打包为一个可执行命令文件。这里对于我们后期真实生产环境下运行程序会更加便捷,如果只是运行go run命令则每次都会执行一次编译,大大浪费了资源。