Windows安装go语言开发环境
这里写自定义目录标题
Windows安装go语言开发环境——服务计算 hw1
记录windows安装golang开发环境历程 ——18342087 孙浩男 软工三班
一、安装golang
因为在windows上进行安装,所以不能按照老师给的linux上的yum安装方式,于是我们首先要在golang的下载网站上下载windows安装包;
下载完成后,按照安装包提示来进行安装:
之后选择安装位置,按照自己的喜好来更改,这里我改为在d盘安装:
之后等待安装完成即可:
在完成之后进行检测,使用go version命令来查看安装是否成功以及版本号:
二、设置环境变量
先建立一个文件目录作为我们存放go项目和代码的仓库:
这里我们设定为D:Code_go
之后在windows中设定环境变量比较简单,直接控制面板中打开windows中的环境变量,我们可以看到在下载go之后,系统已经自动生成一个GOPATH变量,但该变量是按照默认的安装路径来设定的,所以与我们更改后的环境变量不同,我们这里要将其改为我们需要的环境变量位置,也就是我们刚刚创建的dir:D:Code_go
原始图:
我们接下来要做的时为go的PATH和ROOT均设置环境变量,之后还要设定对应的GOPATH的bin路径加入到PATH中,从而实现不需要加路径,直接调用文件执行(之后要用到,运行hello):
更改GOPATH:
更改GOROOT:
在用户变量的Path中添加bin的路径(用于免路径直接调用程序):
安装完成后系统变量图:
完成后再命令行执行go env指令检查是否配置成功:
可以看到GOROOT和GOPATH已经被设置为我们的路径;
三、创建hello world!
首先,按照作业文档中的路径建立文件夹:
之后用vscode打开并创建hello.go,并且安装go拓展,直接使用VScode的拓展安装即可:
编写第一个程序hello world并运行:
运行go run hello.go输出:hello,world
安装必要的插件
尝试手(zi)动(bi)安装:
一开始尝试使用vscode的自动安装功能,发现因为需要网络原因,所以不可以正常安装,所以想尝试自己使用源代码安装
使用vscode安装失败图:
之后尝试进行手动安装,首先尝试clone了老师课件中给的源码包
将其安照老师的步骤将文件移动到对应的目录:
安装buildutil:
但是之后重启vscode重新安装后并不能解决网络导致的安装失败问题:
所以这里尝试进行手动安装:
从github上clone代码包到本地(这里以golint为例,因为这个包好像直接下载有v*n的话也会出现错误,我首先手动安装了这个包,后面的几个包才通过v*n下载,所以没有出现这个问题):
首先先clone下来对应的源码,创建对应的文件结构:
运行go install 来加载gocode包:
加载成功后会再bin目录下增加对应的gocode.exe:
同理,下图也是一次安装go-outline的结果图
v*n+vscode自动安装
(手动安装完五六个包之后,实在是觉得麻烦,所以屈服与现实,乖乖连接v*n将剩下的包全部使用vscode的自动更新功能成功安装完成:
按章完成后bin的目录图(这里是应该没有hello.exe的(截图截晚了)):
安装运行hello.go:使用go install将我们的hello.go生成bin中的包,这样我们就可以通过之前步骤中设定再path中的%GOPATH%\bin来免地址运行hello:
直接调用hello来运行对应的hello.exe:
五、安装并运行gotour
按照老师课间中的命令使用go get来下载gotour,但是运行时显示gotour已经迁移位置,所以我们要重新下载新位置的源码包:
下载完成后,bin文件中出现tour.exe:
调用tour运行并查看结果,显示成功运行了网页:
运行网站结果如下:
六、我的第一个包与测试
首先我们按照文档中路径建立目录:github.com/user/stringutil
之后再stringutil中建立reverse.go文件,并使用文档中的代码来进行编写:
完成代码编写之后,调用go build来进行测试编译,因为这是再对应文件目录中,所以可以直接调用go build,若没有位于文件目录时可以使用文件路径来调用:
之后在stringutil目录中编写test文件reverse_test.go,通过引用testing来对我们刚刚的Reverse函数进行测试:
函数如下:
之后调用go test来进行测试,可以看到成功通过测试,用时0.027s:
完成测试后,开始编写对应的Hello.py函数,在Hello.py中import我们刚刚编写的文件,从而实现引用后的函数调用,可见我们使用了stringutil中的Reverse函数:
进行go build测试,并成功通过:
之后使用go install来生成我们的第一个包(其实是第二个,之前测试的hello已经生成并且调用过了):要注意的是在包生成的过程中会将import中所有依赖的包全部合并打包,所以我门install的Hello 其实已经将stringutil合并打包了:
完成打包后,我们可以在bin目录下看到Hello的可执行文件,这时我们可以直接来调用它:
运行结果:
可见成功执行了Reverse函数和输出;
七、总结
本次安装windows上的开发环境过程中,主要是在一开始上头想手动安装包,所以这上面搞了比较久的时间(虽然之后还是屈服于v*n),其他的难点就在与环境变量的设定上面,要添加对应的GOPATH,GOROOT,%GOPATH%\bin来实现对应文件的调用。 再就是个人原因的一些失误,由于之前自己改过自己的User用户,所以导致路径问题有点多,之后重新重设了比较多的路径才完成Vscode以及go的Path设定。再就是运行测试gotour的过程中由于原有的gotour已经迁移到tour,所以要重新下载对应的tour来代替gotour。