“Go基础系列”是对 Go语言基础的系列梳理文章。在开始这个系列之前,我先”坦白“下我的一个工作经历,再对这个系列说明几个问题。
经历
如果不想看这段,可以直接跳到下面,看对这个系列的问题
我在大学学的是“计算机科学与技术”专业,这个也是我从事目前这个行业的原因。在大学期间,学习了 C、C++、C#、HTML、CSS、JavaScript、Java、Python、PHP,罗列了自认为比较认真学习的一些语言,而所谓的认真也只停留在了基础知识层面,对于项目的实战经验当然可以说差的很远。
这些语言中,我重点说说C#和PHP,为什么会是这两个呢?继续往下看...
在大学期间,虽然对于自己喜欢的东西还是比较认真的,但问我以后工作干什么呀,我还是回答不上来。也就是在这个困惑的期间,培训机构上门了,也弥补了我对于实战经验的空缺(可不是说培训机构好)。而对于学什么语言自己其实还是不清楚,可能是培训机构的引导,也可能是学校的课程,我选择了 Asp.net 开发,使用 C#语言。后面又因为 Asp.net 在培训机构感觉没什么学的了(自认为都会了),又转向了PHP,这也是我以后工作的敲门砖。
到了大四,用自己已掌握的技术就去找了工作,而学校的,我也只是考试去,结果也都是好的。
我带着PHP的简历也顺利找到了工作,第一份工作进入P2P行业,后面陆续的两个工作也都是。其中一个自己带领着技术部,自己常常熬夜加班,也没有加班费,当然自己也没有任何怨言。现在想想自己的管理是多失败的。对于从事的行业,也是后悔的。因为那时候对于P2P的金融行业,莫名感觉特别好,其实这种莫名,只是那时候的无知。因为这个行业的企业倒闭的几率太高了,以至于让自己的技术不能得到很好的沉淀。
中间,还跑去和别人合伙创业,失败告终。这样在 PHP 的时间上大概花费了3年多,于是又转到了 Go 语言开发。
那为什么又跑到 Go 这个领域来了?
- 同事的提议
- 想寻找一个更能深层次学习的语言
- 自认为前途好(区块链、微服务)
- 自己之前也倒腾过
- 喜欢这门语言
在决定转到 Go开发后,立马重新学。学习了一段时间,就去找了工作。也很顺利,找到了一份区块链的开发,因为环境的压抑重新找了一个跨境电商的公司,也是我目前所在的公司。在新的公司,负责过微服务、爬虫相关的项目,自己也经常性的研究源码和从事Github的开源。
回顾了自己这些经历后,也明白了自身的一些问题。对于现在选择的 Go语言,也会一直坚持下去,让自己保持一份持续学习的心。
目前正在学习微服务的底层源码,后续也会有文章。
好了,经历就啰嗦到这了,下来正式进入 Go语言基础的学习。
适合谁看
掌握一门开发语言,例如PHP、Java、C 等等。就是有程序员的开发经验就行,这样对于语言的类比学习就很容易。
如果没有掌握过任何语言,也可以告诉我,我尽我的能力,把知道的告诉你。让你一定能明白我写的文章是啥意思(有这自信,尽管来,我不怂)。
遇到不懂的
不管你是小白还是大神,如果你遇到任何 Go 相关问题,都可以在文章下方评论,我都会回复。如果遇到文章的不足之处也希望提出来,我会完善到你满意为止(看着待遇不错吧)。
内容大纲
不是目录,以下大概只是粗略的记录,后期可能会随着内容的完善进行增加。
- 环境搭建
- 变量及类型
- 常量及操作符
- 流程控制
- 数组、切片、映射(map)
- 函数
- 包
- 结构体
- 接口
- 异常处理
- 并发与通道
- 文件操作