Mac下使用brew安装go

大学时写过go的hello world,没有深入研究过,如今项目中需要将nodejs替换为go,且记录一下学习过程;

1.Mac上使用brew安装(brew的使用可以参考我的博客https://www.cnblogs.com/leadership/p/11534116.html),方便快捷

$ brew install go

出现上面的结果说明安装成功,我们打开终端输入go version,查看安装的go版本

2.配置环境变量

查看go的环境变量配置:

$ go env

显示如下:

GO111MODULE=""

GOARCH="amd64"

GOBIN=""

GOCACHE="/Users/xin.zhu/Library/Caches/go-build"

GOENV="/Users/xin.zhu/Library/Application Support/go/env"

GOEXE=""

GOFLAGS=""

GOHOSTARCH="amd64"

GOHOSTOS="darwin"

GONOPROXY=""

GONOSUMDB=""

GOOS="darwin"

GOPATH="/Users/xin.zhu/go"

GOPRIVATE=""

GOPROXY="https://proxy.golang.org,direct"

GOROOT="/usr/local/Cellar/go/1.13/libexec"

GOSUMDB="sum.golang.org"

GOTMPDIR=""

GOTOOLDIR="/usr/local/Cellar/go/1.13/libexec/pkg/tool/darwin_amd64"

GCCGO="gccgo"

AR="ar"

CC="clang"

CXX="clang++"

CGO_ENABLED="1"

GOMOD=""

CGO_CFLAGS="-g -O2"

CGO_CPPFLAGS=""

CGO_CXXFLAGS="-g -O2"

CGO_FFLAGS="-g -O2"

CGO_LDFLAGS="-g -O2"

PKG_CONFIG="pkg-config"

GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/fl/b3fnstgj4hv6k8g2scfs91sw0000gn/T/go-build443202818=/tmp/go-build -gno-record-gcc-switches -fno-common"

事实上安装好后的go已经可以使用了,我们只需要在home下新建go文件夹,就可以在这个目录下创建go项目,如果不想使用默认的home/go文件夹当作工作空间,可以修改go env中的GOPATH=/xxx/xxx。

3.再来一次hello world

在home/go下新建src/hello目录,在该目录中新建hello.go,内容如下:

package main

import "fmt"

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

在路径home/go/src/hello下执行 $ go build

然后运行 $ ./hello

输出:hello, world

4.关于环境变量

$GOROOT 表示 Go 在电脑上的安装位置,不需要手动配置

$GOBIN 表示编译器和链接器的安装位置,默认是 $GOROOT/bin,Go 1.0.3 及以后的版本,可以将它的值设置为空,Go 会使用默认值。

$GOPATH  项目存放目录,默认采用和 $GOROOT 一样的值, Go 1.1 版本开始,你必须修改为其它路径。它可以包含多个包含 Go 语言源码文件、包文件和可执行文件的路径,而这些路径下又必须分别包含三个规定的目录:src、pkg 和 bin,这三个目录分别用于存放源码文件、包文件和可执行文件。

$GOARCH 表示目标机器的处理器架构,它的值可以是 386、amd64 或 arm。

$GOOS 表示目标机器的操作系统,它的值可以是 darwin、freebsd、linux 或 windows。

$GOARM 专门针对基于 arm 架构的处理器,它的值可以是 5 或 6,默认为 6。

$GOMAXPROCS 用于设置应用程序可使用的处理器个数与核数

Go 编译器支持交叉编译,就是说编写源代码的机器可以和应用程序的机器有完全不同的操作系统或处理器架构。

为了区分本地机器和目标机器,可以使用 $GOHOSTOS 和 $GOHOSTARCH 设置本地机器的操作系统名称和编译体系结构,这两个变量只有在进行交叉编译的时候才会用到,如果不进行显示设置,他们的值会和本地机器($GOOS 和 $GOARCH)一样。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值