Go语言环境配置
下载安装
国内的Go下载站点,根据自己的系统选择对应的版本进行下载安装:
创新互联长期为上1000+客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为吉木萨尔企业提供专业的成都网站建设、成都网站制作,吉木萨尔网站改版等技术服务。拥有10多年丰富建站经验和众多成功案例,为您定制开发。
https://studygolang.com/dl
Go的安装方式除了源码安装,其他的都相当简单,就不过多的赘述了。
环境变量
下面介绍下Go语言中需要设置的一些环境变量,具体如何设置这些环境变量,请自行搜索设置方式。
另外系统的不同,设置的方式也不相同。
GOROOT
GOROOT
是Go语言的安装目录。
在Windows
中,GOROOT
的默认位置是C:/go
,而在Mac OS
或者Linux
中GOROOT
的默认位置是/usr/local/go
,如果Go安装在其他目录,而需要将GOROOT
的位置修改为对应的目录。
另外,GOROOT/bin
下包含Go为我们提供的工具链,因此应该将GOROOT/bin
配置到环境变量PYTH
中,方便我们在全局中使用Go的工具链。
GOPATH
GOPATH
是Go语言的工作目录。
go install/go get
和 go的工具等会用到GOPATH
环境变量。
GOPATH
是作为编译后二进制的存放目的地和import包时的搜索路径。
GOPATH
主要包含三个目录: bin
、pkg
、src
- 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
GOOS
与GOARCH
是当需要进行跨平台编译的时候,需要设置的环境变量,这种编译方式叫做交叉编译。
所谓的交叉编译,是指在一个平台上就生成可以在另外一个平台上运行的代码,例如我们可以在32位的Windows操作系统上开发,然后生成可以在64位的Linux操作系统上运行的二进制进程。
- GOOS:它的默认值是我们当前的操作系统,例如Windows、Linux,但是需要注意的是Mac OS的对应值是darwin。
- GOARCH:表示CPU的架构,如386,amd64,arm等。
可以通过go env
来获取当前GOOS
与GOARCH
的值。
$ go env GOOS GOARCH
darwin
amd64
GOOS
与GOARCH
的取值范围。
GOOS
与GOARCH
的值成对出现,而且只能是下面列表对应的值。
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
点击查看完整文章
网页题目:Go语言环境配置
转载源于:http://scyanting.com/article/joiigc.html