一.为什么要学习Go语言
当今已经是移动和云计算时代,Go出现在了工业向云计算转型的时刻,简单、高效、内 置并发原语和现代的标准库让Go语言尤其适合云端软件开发(毕竟它就是为此而设计的)。到2014年,Go项目拥有了上百的核心贡献者,其生态圈中拥有了数不尽的第三方库和工具(https://godoc.org/),更有很多大公司开始或迁移到go语言,一些重量级的开源云项目,诸如Docker和Kubernetes 都是用Go语言实现的,一些运作基础设置的公司,诸如Google、CloudFlare、Canonical、Digital Ocean、Github、Heroku以及微软也都在使用Go语言开发一些重量级的项目。再来看看如下公司开源的go库
(1)Facebook开源其go库 https://github.com/facebookgo
(2)Dropbox开源了其基于Go语言的工具库godropbox,并表示在一年前已经决定将Dropbox中对性能要求比较高的后端程序从Python迁移到Go语言。Dropbox的几乎所有的代码都是用Python编写的, Python语言被广泛使用在服务器端、桌面的客户端、网站控制逻辑以及后端的 API 和分析上。Dropbox亲睐Python简单易学、开发效率高等特点,但是现在为了支撑日益增长的用户数量,Dropbox不得不将部分对性能要求比较高的业务替换为有更好的并发支持和更快的运行速度的Go语言。
Go 目前已经发展到1.4版本,除了其新增的特性和bug修正外,它为实现一个新的低延迟垃圾收集器以及支持在移动终端上运行Go奠定了基础。作为程序员我们必须在掌握精通一门语言的同时需要扩大视野,学习另外一种语言的设计思想和精髓,而我认为go再合适不过了!2015年将是Go语言大爆发的一年。
二.Go语言开发环境搭建
1.Go的安装
(1)下载go安装程序 下载地址:https://golang.org/dl/ (墙内下载地址http://www.golangtc.com/download),如果是您的系统是windows32 位系统,请选择go1.3.3.windows-386.msi即可
(2)下载后直接双击msi文件安装,默认安装在c:go
(3)安装完成后默认会在环境变量 Path 后添加 Go 安装目录下的 bin 目录 C:Goin,并添加环境变量 GOROOT,值为 Go 安装根目录 C:Go
(4).验证是否安装成功,在运行中输入 cmd 打开命令行工具,在提示符下输入 go
(5)设置工作空间gopath目录(Go语言开发的项目路径)
Windows 设置如下,新建一个环境变量名称叫做GOPATH,值为你的工作目录,例如笔者的设置GOPATH=e:mygo
以上 %GOPATH% 目录约定有三个子目录:
src 存放源代码(比如:.go .c .h .s等)
pkg 编译后生成的文件(比如:.a)
bin 编译后生成的可执行文件(为了方便,可以把此目录加入到 windows的PATH 变量中,在环境变量path后追加%GOPATH%in)
(6)用go env命令查看环境变量设置
2.IDE的选择和设置
Go的开发ide目前有很多选择,比如LiteIDE,Vim,Emcas,goEclipse等,这里推荐Sublime Text 2(以下简称Sublime)+GoSublime+gocode组合
(1)下载安装Sublime Text 2 http://www.sublimetext.com/
(2)安装Package Control包管理工具
Ctrl + `(该键位tab键上方的~键)组合键打开Sublime2的命令行(注意输入法模式是英文状态),然后粘贴执行如下代码
- import urllib2,os; pf='Package Control.sublime-package'; ipp=sublime.installed_packages_path(); os.makedirs(ipp) if not os.path.exists(ipp) else None; urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler())); open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read()); print 'Please restart Sublime Text to finish installation
然后重启sublime,可以发现在在菜单栏多了一个如下的栏目,说明Package Control已经安装成功了。
(3)安装GoSublime插件
Ctrl+Shift+p打开Package Controll 输入pcip(即“Package Control: Install Package”的缩写),然后输入GoSublime,按确定就开始安装了。
(4)同上步(3)安装Go Build
(5)安装gocode代码自动提示
打开windows的命令行提示符程序,开始-》运行-》cmd运行如下代码
go get -u github.com/nsf/gocode
go install github.com/nsf/gocode
如果有错误提示,那么要安装Git客户端(windows git 下载地址 http://msysgit.github.io/ ,同时要在path环境变量后追加git配置 ;D:Program FilesGitin;D:Program FilesGitlibexecgit-core;)
(6)设置go非标准库智能提示
最新版本的 gosublime 要求设置你的 GOPATH 变量到它的配置文件中,否则可能无法支持对非标准库包的代码输入提示,打开 Settings - Default,拷贝所有内容,然后粘贴到 Settings - User 中(这样的做法是为了保证你的修改不会被插件更新而重置,这插件更新很频繁)。
接下来,在 env 这栏中输入你的 GOPATH 变量,重启设置生效。
- "env": {
- "GOROOT":"C:\go",
- "GOPATH": "E:\mygo"
- },
三.编写和运行Go程序
1.用sublime在gopath/src目录下新建一个程序hello.go,代码如下
2.运行go程序
CTRL+B打开sublime的命令行,在提示符下输入 go run hello.go
3.编译生成exe程序
CTRL+B打开sublime的命令行,在提示符下输入 go build hello.go
四 .go语言学习资料
1.go指南:官网链接:https://go-tour-zh.appspot.com/welcome/1(需要梯子),如果无法打开请用国内链接:http://tour.studygolang.com/
2.《the way to go》,如果看英文感觉吃力,github上无闻大牛已经做了中文译本:https://github.com/Unknwon/the-way-to-go_ZH_CN
3.《Go 学习笔记 第三版》雨痕写的,该电子书在github开源:https://github.com/qyuhen/book
4.《go web 编程》,是谢大(beego的作者)写的电子书,github中文目录链接:https://github.com/astaxie/build-web-application-with-golang/blob/master/zh/preface.md
5.《go编程基础》视频教程,此教程是无闻大牛讲解的,github视频链接:https://github.com/Unknwon/go-fundamental-programming