在过去的几年里,我们一起见证了Go语言的崛起,我最早用GO的时候Go的最新版本还是1.5.x 版本,那个时候也是第一次听说Go这门语言。GO1.5版本开始,GO语言本身也开始了使用Go语言来实现Go语言本身,但那个时候的GC性能还不是很强。对于很多静态类型语言转过来的朋友来说体验感还是比较差。直到1.7.x版本开始,极速的GC让很多Go粉拍手称快。再到了2018年2月1.10版本发布对GO自身的工具进行了很大的升级。
要学习一门编程语言那一定是要事先准备好了相应的开放环境才行,当然开发环境的搭建的教程我早就在以前的文章中写过了,需要了解的朋友可以翻阅下以前的文章。如果你搭建好了环境可以通过go version 来验证是否安装成功。
如果没有成功的话,你首先要验证一下自己本机上的安装目录下是否可以找到go的目录,如果存在的话那么久需要去检查 GOROOT GOPATH 和 GOBIN 三个环境变量。如果上述四个关键东西都有那么说明你的环境是ok 的。
GO包的目录不用多说。搜下go的下载包邮很多地方有的下载的,接下来就是三个环境变量。
GOPATH:环境变量 GOPATH 的值可以是一个目录的路径,也可以包含多个目录路径,每个目录都代表 Go 语言的一个工作区(workspace)。这些工作区用于放置 Go 语言的源码文件(source file),以及安装(install)后的归档文件(archive file,也就是以“.a”为扩展名的文件)和可执行文件(executable file)。
GOROOT:其实就是你GO语言的安装目录
GOBIN:其实就是GOPATH/bin go install 之后一些工具便于使用。比如beego的 bee工具的是用
GO语言的项目进行过程中的很多操作。例如编码、依赖管理、构建、测试、安装等等,一系列操作。其实都是围绕着这几个目录在转的。
例如我的
接下来我来描述一下GOPATH 下的src pkg 和 bin几个目录
我所使用的环境都是win10
bin 目录下 使用go install 编译后会将二进制文件安装到这个目录
pkg
会放一些归档文件,pkg目录会将一些编译出来的文件放到这个目录比如说一些编译的中间文件静态库之类的东西。不过对于初学者来说不需要去管这个目录,只要知道有这么个目录就行了,不需要多做理会,等熟悉了再回过头看看这个目录。
src
src就厉害了,作为我们开发来说,有百分之九十八的时间都停留在这个目录里。因为它是我们的源代码存放目录。
go的一些命令
go env
可以打印出go语言的通用环境信息
go build
编译代码,
go install
编译并安装代码。二进制会存放于GOBIN环境下
go get
这个命令就厉害了。我当时决定一定要学好go 就是因为它了。例如我在github 上开源了一个库。实现了一些功能。那么通过go get 可以将包自动下载到本地并对它进行编译,非常方便,当然。使用该指令必须安装git 要不然它是无法工作的,其实它也就是用了git 去下载,只是方便了我们而已
-u:下载并安装代码包,不论工作区中是否已存在它们。
-d:只下载代码包,不安装代码包。
-fix:在下载代码包后先运行一个用于根据当前 Go 语言版本修正代码的工具,然后再安装代码包。
-t:同时下载测试所需要的代码包。
-insecure:允许通过非安全的网络协议下载和安装代码包。例如HTTP协议。
涓滴之水可磨损大石,不是由于他力量强大,而是由于昼夜不舍地滴坠。只有勤奋不懈地努力,才能够获得那些技巧。 —— 贝多芬