Go的第一课-环境配置与HelloWorld

时间:2023-01-10 20:09:40

转载请标明出处:

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。
Go的第一课-环境配置与HelloWorld

    大家配置完成之后,相信大家都可以看得出每个环境变量的意思,这里特别讲解几个重要的环境变量。
    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

Go的第一课-环境配置与HelloWorld
然后选择对应的sdk版本点击下一步。
Go的第一课-环境配置与HelloWorld
这里注意的是,我们要选择GOPATH/src下(src下面每个文件夹对应一个项目),然后点击finish。稍等片刻,我们就可以进入go的世界。
加载完成之后,我们new Module -》helloWorld,并且创建一个go file 命名为 main
书写内容如下:

package main

import "fmt"

func main() {
    fmt.Println("Hello World")
}

然后我们打开Terminal 输入
Go的第一课-环境配置与HelloWorld

或者直接点击main函数左边的绿色三角形执行。
到这里我们可以看到一个Hello World 就这样打印出来了,
现在我们在Terminal输入go build 或者 go build main.go 稍等一会,我们可以看到
Go的第一课-环境配置与HelloWorld
怎么运行它那?玩windows都应该知道。
我们现在输入go install main.go 如果提示GOBIN not set 那就要去检查下自己的环境变量了。

我对Go感受

     已经搞了一个月的Go语言了,整体来说比C/C++语法简单,摒弃了纯虚函数,继承、多态等复杂思想。并发机制让我已经反感写其他语言的并发。
     好了,至于这个语言会不会火,我不敢保证说,一定会火,但是从每年的语言排名和Go语言与生自来的高并发处理机制来说,Go会越来越火。