介绍
Go, 通过也被称为golang, 它是google开发的一款开源的编程语言。通过它可以快速开发出一款高效的软件。本教程会教会你如何在CentOS7安装最新的Go环境,以及编译并执行一个简单的“Hello,world!”程序。
前言
在开始本教程前,确保你有一个root用户,或者一个非root但拥有sudo权限的用户。
Go 语言支持以下系统:
-
Linux
-
FreeBSD
-
Mac OS X(也称为 Darwin)
-
Window
安装包下载地址为:golang.org/dl/。
各个系统对应的包名:
操作系统
包名
Windows
go1.8.3.windows-amd64.msi
Linux
go1.8.3.linux-amd64.tar.gz
Mac
go1.8.3.darwin-amd64.pkg
FreeBSD
go1.8.3.freebsd-amd64.tar.gz
第一步-下载 Go
以下介绍了在Linux centos7.3系统下使用二进制压缩包安装方法:
下载压缩包:go1.8.3.linux-amd64.tar.gz。
$ cd /tmp
$ curl -LO storage.googleapis.com/golang/go1.…
第二步-安装Go
安装Go需要将第一步下载的压缩包解压到 /usr/local 目录。使用tar命令进行解压缩,tar命令相关参数的功能如下:
-C: 表示将内容保存到一个指定的目录
-x: 表示执行抽取功能
-v: 表示显示操作过程
-z: 表示通过gzip指令处理备份文件
-f: 表示指定备份文件
将下载的源码包解压至 /usr/local目录:
$ sudo tar -C /usr/local -xvzf go1.7.linux-amd64.tar.gz
说明:官方推荐将Go放在/usr/local目录,当然放在其它目录也是可以的,只需要设置好GOROOT环境变量即可。
接下来,创建Golang开发环境目录,假设这里为/opt/gopath,然后在这个目录里面创建三个子目录bin,src以及pkg。这里的bin目录用来存放src编译后的结果(也就是二进制执行文件)。src目录为golang源文件,pkg目录为编译过程中生成的包。
通过以下命令创建目录:
$ mkdir -p /opt/gopath/{bin,pkg,src}
第三步-安装环境变量
为了能让go命令直接执行,我们需要添加安装路径到$PATH里面。因为Go是安装在系统目录,所以我们要设置一个全局的环境变量。
在/etc/profile.d目录创建一个path.sh脚本:
$ sudo vi /etc/profile.d/path.sh
添加以下内容并保存:
export PATH=$PATH:/usr/local/go/bin
另外,在用户的.bash_profile中定义Golang环境变量GOPATH以及GOBIN,指向刚创建的工作目录。GOPATH告诉Go源文件所在的目录,GOBIN变量表示放置编译后的二进制目录。
打开.bash_profile文件:
$ vi ~/.bash_profile
添加以下内容:
export GOBIN="/opt/gopath/bin"
export GOPATH="/opt/gopath/src"
注意:如果在第二步没有将go安装在/usr/local目录的话,这里需要定义GOROOT环境变量。
~/.bash_profile
……
export GOROOT="/path/to/go"
为了使环境变量生效,通过source命令重新加载更新的profiles:
$ source /etc/profile && source ~/.bash_profile
接下来我们通过一个简单的实例来验证一下Go环境。
第四步-创建一个简单的程序
在编写程序之前,我们确保环境变量设置正确,可以通过go env命令来简单验证:
接下来编写一段小程序:
$ vi /opt/gopath/src/hello.go
下面的代码使用的包是main,并且导入了一个fmt包,接下来写一个main方法,并打印出Hello,World!。文件内容如下
接下来通过go install命令来编译hello.go源文件。
$ go install hello.go
编译好了以后,我们到/opt/gopath/bin目录查看一下,以可看到已经hello已经编译好了:
现在我们可以运行这个程序了:
GOBIN/hello
总结
上面的“Hello,World!”例子非常简单,只要把环境变量配好基本就可以正常运行了。通常一个典型的应用包含很多库以及第三方的包,在后面的课程中我们会为大家详细讲解。
作者:用户8583061798552
链接:juejin.cn/post/696535…
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。