转载请标明出处:
http://blog.csdn.net/qq_27495349/article/details/62418738
本文出自:【CF凌晨的博客】
引言
好久没有出博客,最近在关注go语言,关于go语言的介绍我相信google可以搜索一大堆。
至于为何我要写go,我只能说当初也不怎么觉得go如何,甚至看go的语法跟java相比,让我反感。
但是出于是google出品的语言,还是忍不住学习了,至今让我沉迷go语法让我无法自拔,我也相信大家看完本系列的教程也能跟我一样的想法。
Go特点
Go是一种并发、带垃圾回收、快速编译的语言,具有以下特点:
1. 它可以在一台计算机上用几秒钟的时间编译一个大型的Go程序。
2. Go为软件构造提供了一种模型,它使依赖分析更加容易,且避免了大部分C风格include文件与库的开头。
3. Go是静态类型的语言,它的类型系统没有层级。因此用户不需要在定义类型之间的关系上花费时间,这样感觉起来比典型的面向对象语言更轻量级。
4. Go完全是垃圾回收型的语言(最爱),并为并发执行与通信提供了基本的支持(最爱)。
Go是一种编译型语言,它结合了解释型语言的游刃有余,动态类型语言的开发效率,以及静态类型的安全性。它也打算成为现代的,支持网络与多核计算的语言。要满足这些目标,需要解决一些语言上的问题:一个富有表达能力但轻量级的类型系统,并发与垃圾回收机制,严格的依赖规范等等。这些无法通过库或工具解决好,因此Go也就应运而生了。 –(此上摘自Go Web编程)
Go安装(windows)
这里我只讲解windows的安装,其他平台的安装方法大同小异,基本上都是下载压缩包配置环境变量。
windows提供了msi类型的安装文件,只需要下一步下一步,大部分的配置都会帮我们自动完成,这种是很适合新手,所以本套教程在windows下开发。
http://www.golangtc.com/download 下载对应系统位数的msi文件,点击安装一直下一步即可。
安装成功之后我们打开cmd 输入go env 如果出现下面界面就表示安装成功,其他系统安装之后也使用这个方法测试是否安装成功,或者使用 go version。
大家配置完成之后,相信大家都可以看得出每个环境变量的意思,这里特别讲解几个重要的环境变量。
1.GOPATH: 这个是go的工作目录,相当于workspace,这个目录安装成功之后是没有配置的,需要大家自己配置,大家都懂。
它允许多个目录,用分号隔开(liunx用户用冒号),默认go get(下面会说)的内容会放在第一个目录下。
GOPATH目录也约定了三个子目录(自己手动创建):
src : 存放源代码(比如.go、.c、.h、.s等)
pkg : 存放编译后的文件(比如.a)
bin : 存放编译后的可执行文件(为了执行,可以将此目录也加到环境变量中)
2.GOBIN: 这个跟上面的bin一样的用处,如果有多个工作目录。此目录会失效,所以一般不会配置。
3.GOROOT: 这个是Go的安装目录,没法可说的。
4.GOOS:当前系统类型,此环境跟生成可执行文件相关(windows将生成exe文件)
Go命令
Go语言自带有一套完整的命令行操作工具,你可以通过cmd中 go 来查看它们,这里就简单说下几个常用的
1.go build
这个命令主要用于测试编译。在包的编译过程中,若有必要,会同时编译与之相关联的包。如果编译main包,将会当当前目录下生成exe文件。
如果想生成在bin下面需要执行go install。
2.go install
这个命令其实实现了2个步骤:第一步是生成结果文件(可执行文件或者.a文件);第二步会把编译好的文件移至pkg或者bin下。
3.go clean
这个命令是来清理编译之后生成的文件,主要用于上传github的时候,清理一些不必要的文件
4.go fmt
这个就是格式化代码,我们下面介绍开发工具的时候,都会自动调用,所以不需要担心。
5.go doc
这是一个很强大的东西,如果我们想要查看源码包,只需要执行这条命令 后面跟上需要查看的包名即可。
6.go get
这条命令是动态获取远程代码,目前支持BitBucket、GitHub、Google Code等,我们会经常使用。
如果从GitHub远程拉下代码,必须安装git工具,其他几个平台也要下载对应的源码管理工具。
此命令内部执行2个步骤:第一步下载源码,第二步执行go install。
6.go run
直接运行指定的项目。
Go 开发工具
目前支持Go开发工具很多,例如LiteIDE、Sublime Text、Vim、Eclipse、Intellij IDEA等,它们都支持自动格式化,代码提示。
作为java爱好者,还是习惯使用Intellij IDEA,至于到底哪个好,本人不做任何评价。
1.Intellij IDEA安装与插件安装
这个就没啥好说的了,喜欢使用这个编译器的,早就安装好了。我们安装一个插件名字就是 Go 下载安装重启之后,我们就可以创建Go项目了。
2.HelloWorld
我们启动idea,然后选择new->project 如下图,我们选择Go
然后选择对应的sdk版本点击下一步。
这里注意的是,我们要选择GOPATH/src下(src下面每个文件夹对应一个项目),然后点击finish。稍等片刻,我们就可以进入go的世界。
加载完成之后,我们new Module -》helloWorld,并且创建一个go file 命名为 main
书写内容如下:
package main
import "fmt"
func main() {
fmt.Println("Hello World")
}
然后我们打开Terminal 输入
或者直接点击main函数左边的绿色三角形执行。
到这里我们可以看到一个Hello World 就这样打印出来了,
现在我们在Terminal输入go build 或者 go build main.go 稍等一会,我们可以看到
怎么运行它那?玩windows都应该知道。
我们现在输入go install main.go 如果提示GOBIN not set 那就要去检查下自己的环境变量了。
我对Go感受
已经搞了一个月的Go语言了,整体来说比C/C++语法简单,摒弃了纯虚函数,继承、多态等复杂思想。并发机制让我已经反感写其他语言的并发。
好了,至于这个语言会不会火,我不敢保证说,一定会火,但是从每年的语言排名和Go语言与生自来的高并发处理机制来说,Go会越来越火。