下载安装golang
下载地址:http://www.golangtc.com/download
通过上面的网址下载你操作系统对应的版本的程序进行安装,由于我用的window7所以下载了go1.7.4.windows-386.msi这个包,根据安装提示进行安装,安装好之后go使用的一些系统变量也会被设置好。但是我们需要自己设置一个gopath的环境变量。
GOPATH的设置
GOPATH 环境变量指定了你的工作空间位置,除不能和go的安装目录相同,可以放在磁盘的任何位置。
点击开始-》计算机-》右键-属性-》高级系统设置-》环境变量-》新建系统变量:
变量名设置为:GOPATH
变量值设置为:E:\study-go
多个GOPATH目录通过分号连接,例如
E:\\study-go;E:\\go-work
ctrl+R打开命令行窗口输入:go env输出如下则设置成功。

go语言项目基本目录结构介绍
|
|
go语言常用的命令
go run test.go运行test.gogo build test.go编译test.gogo get 'github.com/[第三方包名称]'安装github的第三方包go help查看更多的go命令
包管理的安装
go语言通过
go get命令安装的第三方会放在src目录下,这样团队开发的时候会把这些第三方包添加进版本控制里面,更新第三方包的时候会比较麻烦。在使用过nodejs的包管理工具npm,python的包管理工具pip,和ruby的包管理工具gem后,他们安装依赖的方式是那么的简单和方便,以至于现在学习go的时候的第一件就是去寻找购go的包管理工具,但是发现go语言到目前为止,官方还没有提供包管理工具,但是Go1.5引入了go vendor目录,用于将go编译时的应用路径搜索调整成为当前项目目录/vendor目录的方式。查资料发现go社区有很多基于此的第三方包管理的工具可以使用,这里就选择了[glide]https://github.com/Masterminds/glide 这个工具来管理go项目的依赖。
初始化
|
|
安装指定依赖包
|
|
查看项目依赖列表
|
|
更新项目依赖列表
|
|
glide.yaml文件说明
|
|
安装项目依赖
我们也可以通过glide.yaml配置文件来安装依赖 该命令将会读取glide.lock文件,当glide.lock文件和glide.yaml不同步时,如glide.yaml发生改变,glide将会提供一个警告。运行glide up命令更新依赖树,将会重建glide.lock文件。
|
|
使用包管理后的工作目录的结构
|
|
有了glide.yaml文件和glide.lock文件,团队开发的时候就不需要吧第三方包纳入到版本控制里面,只需要将这两个文件纳入版本控制就行了。
学习文档
学习一门语言最好的教程就是官方提供的document、Q&A、wiki、example等,但是的官网经常访问不了,所以我们可以通过下面的方式,来阅读官方文档。
本地浏览go官方文档
|
|
打开命令窗口,执行上面的命令,打开浏览器输入:https://localhost:6060 就可以浏览go的官方文档了。
其它文档
下面是一些国内的关于golang的社区和资源。
go官方文档中文版:http://zh-golang.appsp0t.com/- go官方文档中文版:http://docscn.studygolang.com/
- go标准库中文版:https://studygolang.com/pkgdoc
- go指南:http://tour.studygolang.com/
- golang中文社区:http://studygolang.com/
- golang中国:http://golangtc.com/
- go项目搜索:https://gowalker.org/search?q=&auto_redirect=true
编辑器推荐
学习一门新语言的时候,能不用IDE就不要使用IDE、推荐使用文本编辑器、原因有两个。
一、由于ide集成东西比较多,体积大,占用内存多,响应速度慢。
二、ide会帮你完成很多的工作,程序编译到执行的过程会被隐藏,使你不能感受和理解整个程序从代码到执行完成的整个过程。
当然如果对一门语言熟练掌握了,用它来开发大型系统的时候在去使用IDE,那会帮你节省很多时间。
这里我推荐使用sublime text3当然你也可以使用其它的编辑器如vscode,atom等,按照自己喜好来,我使用sublime text2主要是因为平时用它比较的多。
hello world
环境搭建好了,下面通过一个“hello world”正式进入go语言编程的世界。
新建一个文件hello-world.go,在文件中写入如下代码:
|
|
运行go run hello-world.go
