温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Go语言环境配置

发布时间:2020-07-02 12:29:40 来源:网络 阅读:4443 作者:LanYuLei 栏目:编程语言

下载安装

国内的Go下载站点,根据自己的系统选择对应的版本进行下载安装:

https://studygolang.com/dl

Go的安装方式除了源码安装,其他的都相当简单,就不过多的赘述了。

环境变量

下面介绍下Go语言中需要设置的一些环境变量,具体如何设置这些环境变量,请自行搜索设置方式。

另外系统的不同,设置的方式也不相同。

GOROOT

GOROOT是Go语言的安装目录。

Windows中,GOROOT的默认位置是C:/go,而在Mac OS或者LinuxGOROOT的默认位置是/usr/local/go,如果Go安装在其他目录,而需要将GOROOT的位置修改为对应的目录。

另外,GOROOT/bin下包含Go为我们提供的工具链,因此应该将GOROOT/bin配置到环境变量PYTH中,方便我们在全局中使用Go的工具链。

GOPATH

GOPATH是Go语言的工作目录。

go install/go get和 go的工具等会用到GOPATH环境变量。

GOPATH是作为编译后二进制的存放目的地和import包时的搜索路径。

GOPATH主要包含三个目录: binpkgsrc

  • bin:主要存放可执行文件。
  • pkg:存放编译好的库文件, 主要是*.a文件。
  • src:下主要存放go的源文件。

此外还需要注意的是不要讲GOROOT设置城Go语言的路径,避免出现不必要的冲突。

GOPATH可以设置多个工作区,不过当我们使用go get命令去获取远程库的时候,一般会安装到第一个工作区当中。

# 每个工作区使用分号,分割即可。
export GOPATH=/opt/go;$home/go
GOBIN

GOBIN是我们在开发程序编译后二进制命令的安装目录。

当我们使用go install命令编译和打包应用程序时,该命令会将编译后的二进制程序打包GOBIN目录,一般我们将GOBIN设置为GOPATH/bin

GOOS与GOARCH

GOOSGOARCH是当需要进行跨平台编译的时候,需要设置的环境变量,这种编译方式叫做交叉编译。

所谓的交叉编译,是指在一个平台上就生成可以在另外一个平台上运行的代码,例如我们可以在32位的Windows操作系统上开发,然后生成可以在64位的Linux操作系统上运行的二进制进程。

  • GOOS:它的默认值是我们当前的操作系统,例如Windows、Linux,但是需要注意的是Mac OS的对应值是darwin。
  • GOARCH:表示CPU的架构,如386,amd64,arm等。

可以通过go env来获取当前GOOSGOARCH的值。

$ go env GOOS GOARCH
darwin
amd64

GOOSGOARCH的取值范围。

GOOSGOARCH的值成对出现,而且只能是下面列表对应的值。

GOOS        GOARCH
------------------
android     arm
darwin      386
darwin      amd64
darwin      arm
darwin      arm64
dragonfly   amd64
freebsd     386
freebsd     amd64
freebsd     arm
linux       386
linux       amd64
linux       arm
linux       arm64
linux       ppc64
linux       ppc64le
linux       mips
linux       mipsle
linux       mips64
linux       mips64le
linux       s390x
netbsd      386
netbsd      amd64
netbsd      arm
openbsd     386
openbsd     amd64
openbsd     arm
plan9       386
plan9       amd64
solaris     amd64
windows     386
windows     amd64

编译在64位Linux操作系统上运行的目标程序

$ CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go

编译arm架构Android操作上的目标程序

$ CGO_ENABLED=0 GOOS=android GOARCH=arm GOARM=7 go build main.go

点击查看完整文章

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI