构建环境

Table of Contents

1 安装 Go

1.1 Linux, macOS, and FreeBSD tarballs

wget https://dl.google.com/go/go1.13.6.darwin-amd64.tar.gz --no-check-certificate
sudo tar -C /usr/local -xzf go1.13.6.darwin-amd64.tar.gz

/usr/local/go/bin 添加到系统 PATH 环境变量,在 /etc/profile 或者 $HOME/.profile 中添加

export PATH=$PATH:/usr/local/go/bin

默认的工作目录是 $HOME/go ,如果是不同的目录需要 设置一下 GOPATH 环境变量

go get 安装的二进制包会放到 $HOME/go/bin 下面。所以,还要在 .bashrc/.zshrc 中添加路径:

export PATH=$PATH:$(go env GOPATH)/bin

1.2 检测是否安装成功

在工作目录下创建 src/hello 目录,然后创建 hello.go

package main

import "fmt"

func main() {
    fmt.Printf("hello, world\n")
}

go run hello.go 看到 hello, world 表示安装成功。

注意 如果存在旧版本的 Go 需要先卸载才行。

2 卸载

  1. 删除 /usr/local/go 目录
  2. 编辑 /etc/profile 或者 $HOME/profile 移除 PATH 环境变量中的 go bin 路径
  3. 删除工作目录

3 插件和 IDE

Emacs IDE 内容。

4 跨平台编译

1.5 版本之后,Go 支持跨平台编译(碉堡的一个功能),在编译之前指定 $GOOS$GOARCH 两个环境变量即可。这两个环境变量分别表示的目标的操作系统和编译体系架构的名称。常用的值:

  • GOOS: android darwin freebsd linux windows
  • GOARCH: arm amd64 386

完整的可选值在 Optional environment variables

比如在 MacOS 上编译 CentOS7 下的二进制包: GOOS=linux GOARCH=amd64 go build main

相关的 Stackoverflow 帖子:All possible GOOS value? 中说明在 Go 1.7 之后,可以使用 go tool dist list -json 来显示可选的值(不加 -json 参数将显示为文本)。

First created: 2017-12-07 09:41:24
Last updated: 2020-05-15 Fri 10:05
Power by Emacs 26.3 (Org mode 9.3.6)