编译并安装应用程序

在最后一个主题中,您将学习几个新的 go 命令。虽然 go run 命令在频繁修改程序时是一个方便的编译运行快捷方式,但它不会生成二进制可执行文件。

本主题介绍两个用于构建代码的附加命令:

  1. 在 hello 目录的命令行中,运行 go build 命令将代码编译为可执行文件。
    $ go build
  2. 在 hello 目录的命令行中,运行新生成的 hello 可执行文件以确认代码是否正常工作。

    请注意,如果在测试后修改了 greetings.go 代码,您的结果可能会有所不同。

    • 在 Linux 或 Mac 上:
      $ ./hello
      map[Darrin:Great to see you, Darrin! Gladys:Hail, Gladys! Well met! Samantha:Hail, Samantha! Well met!]
      
    • 在 Windows 上:
      $ hello.exe
      map[Darrin:Great to see you, Darrin! Gladys:Hail, Gladys! Well met! Samantha:Hail, Samantha! Well met!]
      

    您已将应用程序编译为可执行文件,因此可以运行它。但要当前运行它,您的命令行提示符需要位于可执行文件所在的目录中,或者需要指定可执行文件的路径。

    接下来,您将安装该可执行文件,以便无需指定其路径即可运行它。

  3. 查找 Go 安装路径,go 命令将在此处安装当前包。

    您可以通过运行 go list 命令 来查找安装路径,如以下示例所示:

    $ go list -f '{{.Target}}'
    

    例如,命令的输出可能显示 /home/gopher/bin/hello,这意味着二进制文件将安装到 /home/gopher/bin。您将在下一步中需要此安装目录。

  4. 将 Go 安装目录添加到系统的 shell 路径。

    这样,您将能够在不指定可执行文件位置的情况下运行程序的可执行文件。

    • 在 Linux 或 Mac 上,运行以下命令:
      $ export PATH=$PATH:/path/to/your/install/directory
      
    • 在 Windows 上,运行以下命令:
      $ set PATH=%PATH%;C:\path\to\your\install\directory
      

    或者,如果您已经有一个像 $HOME/bin 这样的目录在您的 shell 路径中,并且您希望将 Go 程序安装到那里,您可以通过使用 go env 命令 设置 GOBIN 变量来更改安装目标:

    $ go env -w GOBIN=/path/to/your/bin
    

    或者

    $ go env -w GOBIN=C:\path\to\your\bin
    
  5. 更新 shell 路径后,运行 go install 命令以编译并安装包。
    $ go install
  6. 简单地输入其名称即可运行您的应用程序。为了让这更有趣,请打开一个新的命令提示符,在其他某个目录中运行 hello 可执行文件名。
    $ hello
    map[Darrin:Hail, Darrin! Well met! Gladys:Great to see you, Gladys! Samantha:Hail, Samantha! Well met!]
    

这就是本 Go 教程的全部内容!