服务计算学习之路二 —— centos7下搭建Golang
下载安装golang
-
sudo yum install golang
就会自动下载安装包的了,下载完后会问你是否安装的,输入y
继续安装好就行。成功安装后的提示:
-
可以查看一下安装的路径
rpm -ql golang |more
-
检测一下安装的go版本:
go version
-
Linux为编程而生,一般在终端安装软件或其它工具,相关的依赖包和环境的配置都会帮你自动设置好的,一般不需要修改。但这次Golang里有个变量GOPATH是记录工作目录的,这个目录用来存放Go源码,Go的可运行文件,以及相应的编译之后的包文件。默认的设置在一个没有权限访问的文件夹里,所以还是建议修改一下,先查看一下原来的设置:
go env
-
在普通用户能读写的目录下创建一个文件夹,我的是在这个目录下的:
/home/kesongyue/gowork
-
然后修改GOPATH的值:
sudo gedit ~/.profile
执行该命令前先用
su
切换到root用户下,不然会提示没有权限修改的,然后我提醒一点,除了提示没权限才切换到root用户下,其它命令建议都在普通用户下执行,不然对有些软件会出现权限不够的情况。比如在root用户下创建一个普通文件夹,VSCode在这文件夹下没有写的权限。。。 -
好了,在打开的profile文件里输入
export GOPATH=/home/kesongyue/gowork export PATH=$PATH:$GOPATH/bin
其中GOPATH的目录根据自己的情况修改,切记
=
前后不能有空格,不然会后面执行source时会报错,至于错的原因暂时就不清楚了。 -
接着用
source ~/.profile
使配置的环境变量生效,然后切换回普通用户:su + 你的用户名
-
用
go env
再次检查是否配置成功
可见配置成功了
下载安装VSCode
以前用的时Sublime,听说vscode很好用,所以这次试一下,依次执行以下4条命令:
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo'
yum check-update
sudo yum install code
不出意外的话VSCode就能正确安装了。
用配置好的GOlang环境输出helloworld
-
创建源代码目录:
mkdir $GOPATH/src/github.com/github-user/hello -p
-
然后进入该目录下:
cd $GOPATH/src/github.com/github-user/hello
-
用VSCode创建编辑hello.go:
code hello.go
-
输入代码:
package main import "fmt" func main() { fmt.Printf("hello, world\n") }
-
在终端或者在VSCode自带的命令行输入:
go run hello.go
即会输出hello,world。
进一步安装go的一些工具
上面仅仅时编译运行一个小小的文件,实际工程上会分为src(存放源代码(比如:.go .c .h .s等)),pkg(编译后生成的文件(比如:.a)),bin文件目录的(编译后生成的可执行文件)。
以下操作是为了能在VSCode里装Go的扩展工具包使得更好的编程。
-
在此之前要先安装git工具,因为相应的工具要从GitHub上获取(因为官网上不去):
sudo yum install git
-
下载源代码到本地
- 创建文件夹 :
mkdir $GOPATH/src/golang.org/x/ -p
- 下载源码:
go get github.com/golang/tools
- 拷贝一下下载的文件:
cp $GOPATH/src/github.com/golang/tools $GOPATH/src/golang.org/x/ -rf
- 创建文件夹 :
-
安装工具包:
go install golang.org/x/tools/go/buildutil
-
安装完后再进入VSCode按提示安装GO相关的工具包就行,这一部分即使不能正确执行应该也不会有很大影响的,只是不能在VSCode里快捷地工作而已。
总结
以上是参考老师的博客再结合自己的实操写出来的,难免有不足之处。