Go学习之新奇视角 – 入门篇(一)
- 2019 年 10 月 8 日
- 筆記
最近工作中,需要研究Go语言的区块链项目,作为一个Java出身的程序汪,不得不开始走向新的火热学习当中去。
那么,开始思考以下几个问题:
- 什么是Go?
- 为什么要学习Go?
- 学了Go,又有什么用?
- 如何以最快的速度学会和运用Go?
我想,这绝对是一个新鲜菜鸟或者说其它语言转型的程序汪来说,必问的几个问题,如有其它,请留言补充,^_^
当然,我也是,然后……我的第一步是:
(打开Boss直聘,悄悄地,不被老板看到!)

突然感觉欣喜若狂,这玩意看来是个稀缺人才,要好好学!以此解答了第二个问题。
什么是Go?(来自维基百科)
Go是Google开发的一种编译型,并发型,并具有垃圾回收功能的编程语言。罗伯特·格瑞史莫(Robert Griesemer),罗勃·派克(Rob Pike)及肯·汤普逊于2007年9月开始设计Go语言,Go语言是基于Inferno操作系统所开发的。Go语言于2009年11月正式宣布推出,并在Linux及Mac OS X平台上进行了实现.
第三,当然是工作需要啦(看在钱的份上),下面,就废话不多说,开始详细地讲解一下,我将如何在短时间内高效学习一门新的语言。

(敲黑板,敲黑板!开始记笔记!)
有其它语言基础(如C、C++、Python、Java、Scala等)或者自学能力强的兄dei,推荐几个网上快速搞定基础的网站:
实验楼:Go语言编程。 51CTO:Go编程基础
腾讯课堂、慕课网等等,喜欢网络课程的同学,搜索关键字“Go学习”,应该就能找到一大堆免费资源,这里我就不一一阐述了。
喜欢看书的,推荐书籍:《Go程序语言设计》、《Go并发编程实战》、《The way to Go》(英文版),当然本人是属于看书3分钟,睡觉立竿见影的类型,所以并不是很能看得下去,网络索罗得到的结果就这些。
下面针对懒人和初学者,讲解一些入门步骤:
1、环境安装:
下载:https://golang.org/doc/install(需要VPN)

根据自己电脑的配置选择合适的版本进行下载安装,本文以window为例(msi,懒人可以点此),版本1.10.2
下载到合适的安装路径,一路下一步就行,注意点,查看高级系统设置,配置GOPATH、GOROOT、GOBIN环境变量

- GOROOT:Go的安装路径
- GOPATH:允许多个目录,当有多个目录时,请注意分隔符,多个目录的时候Windows是分号“;”,Linux系统是冒号“: ”
- 注意点:$GOPATH目录约定有三个子目录
- src:存放源代码(比如:.go .c .h .s等)
- pkg:编译时生成的中间文件(比如:.a)
- bin:编译后生成的可执行文件(为了方便,可以把此目录加入到 $PATH 变量中,如果有多个gopath,那么使用${GOPATH//://bin:}/bin添加所有的bin目录)
- GOBIN:Go文件中的bin目录
2、开发工具:
比较流行的开发工具有:Sublime、VS Code、LiteIDE、GoLand(收费),本主使用的是GoLand,下载地址:官网

下载安装好之后就可以开发了,请开始你的表演(orz……废话真多)。
3、Hello World
相信会有很多朋友问,为什么不管学习什么语言,都要先写Hello World,我认为,是一种仪式感。网上也流传了很多版本的说法。有一种解释为:1978年,Brain Kernighan在他和Dennis Ritchie合作撰写的C语言圣经“The C Programming Language”中,延用了“hello,world”句式,作为开篇第一个程序。在这个程序里,输出的”hello,world”全部是小写,没有感叹号,逗号后有一空格。虽然之后几乎没能流传下来这个最初的格式,但从此用“hello world”向世界打招呼成为惯例。
那我们就一起来写一个hello world 向世界打招呼吧。
新建helloworld.go 文件(路径:C:goworkspacesrchelloworld.go)

不理解里面的含义没事,照着敲就行,下一篇《基础篇》,我会详细讲解其中的含义。
4、运行
打开cmd窗口,进入到刚刚写的helloworld.go文件

运行成功。
接下来就可以开始真正的学习之旅了。