learn-tech/专栏/Go语言核心36讲/00开篇词跟着学,你也能成为Go语言高手.md
2024-10-16 00:01:16 +08:00

61 lines
6.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

因收到Google相关通知网站将会择期关闭。相关通知内容
00 开篇词 跟着学你也能成为Go语言高手
你好我是郝林。今天想跟你聊聊我和Go语言的故事。
Go语言是由Google出品的一门通用型计算机编程语言。作为在近年来快速崛起的编程语言Go已经成功跻身主流编程语言的行列。
它的种种亮点都受到了广大编程爱好者的追捧。特别是一些对团队协作有较高要求的公司和技术团队已经在有意识地大量使用Go语言编程并且使用的人群还在持续迅猛增长。
我个人很喜欢Go语言。我是从2012年底开始关注Go语言的虽然这个日期与Go语言诞生的2009年11月10日相比并不算早但我也算得上国内比较早期的使用者了。
Go程序可以在装有Windows、Linux、FreeBSD等操作系统的服务器上运行并用于提供基础软件支撑、API服务、Web服务、网页服务等等。
Go语言也在移动端进行了积极的探索现在在Android和iOS上都可以运行其程序。另外Go语言也已经与WebAssembly强强联合加入了WASM平台。这意味着过不了多久互联网浏览器也可以运行Go编写的程序了。
从业务维度看在云计算、微服务、大数据、区块链、物联网等领域Go语言早已蓬勃发展。有的使用率已经非常之高有的已有一席之地。即使是在Python为王的数据科学和人工智能领域Go语言也在缓慢渗透并初露头角。
从公司角度看许多大厂都已经拥抱Go语言包括以Java打天下的阿里巴巴更别提深爱着Go语言的滴滴、今日头条、小米、奇虎360、京东等明星公司。同时创业公司也很喜欢Go语言主要因为其入门快、程序库多、运行迅速很适合快速构建互联网软件产品比如轻松筹、快手、知乎、探探、美图、猎豹移动等等。
我从2013年开始准备撰写《Go并发编程实战》这本书在经历了一些艰辛和坎坷之后本书终于在2014年底由人民邮电出版社的图灵公司正式出版。
时至今日《Go并发编程实战》的第2版已经出版一年多了也受到了广大Go语言爱好者的欢迎。同时我也发起和维护着一个Go语言爱好者组织GoHackers至今已有近4000人的规模。我们每年都会举办一些活动交流技术、互通有无。当然我们平常都会在一些线上的群组里交流。欢迎你的加入。
2015年初我开始帮助公司和团队招聘Go程序员。我面试过的Go程序员应该已经有几百个了。虽然一场面试的交流内容远不止技术能力这种硬技能更别提只限于一门编程语言。
但是就事论事我在这里只说Go语言。在所有的应聘者当中真正掌握Go语言基础知识的比例恐怕超不过50%而真正熟悉Go语言高阶技术的比例也不超过30%。当然了,情况是明显一年比一年好的,尤其是今年。
我写此专栏的初衷是让希望迅速掌握Go语言的爱好者们通过一种比较熟悉和友好的路径去学习。我并不想事无巨细地去阐述Go语言规范的每个细节以及其标准库中的每个API更不想写那种填鸭式的教学文章我更想去做的是详细论述这门语言的重点和主线。
我会努力探究我们对新技能,尤其是编程语言的学习方式,并以这种方式一步步带领和引导你去记忆和实践。我几乎总会以一道简单的题目为引子,并以一连串相关且重要的概念和知识为主线,而后再进行扩充,以助你进行发散性的思考。
我希望用这种先点、后线、再面的方式帮你占领一个个重要的阵地。别的不敢说如果你认真地跟我一起走完这个专栏那么基本掌握Go语言是肯定的。
为什么说基本掌握因为软件技术尤其是编程技术必须经过很多的实践甚至历练才能完全掌握这需要时间而不能速成。不过本专栏一定会成为你学习Go语言最重要的敲门砖和垫脚石。
下面我们一起浏览一下本专栏的主要模块一共分成3大模块5个章节。
基础概念我会讲述Go语言基础中的基础包括一些基本概念和运作机制。它们都应该是你初识Go语言时必须知道的同时也有助于你理解后面的知识。
数据类型和语句Go语言中的数据类型大都是很有特色的你只有理解了它们才能真正玩转Go语言。我将和你一起与探索它们的奥妙。另外我也会一一揭示怎样使用各种语法和语句操纵它们。
Go程序的测试很多程序员总以为测试是另一个团队的事情其实不然。单元测试甚至接口测试其实都应该是程序员去做的并且应该受到重视。在Go语言中怎样做好测试这件事我会跟你说清楚、讲明白。
标准库的用法虽然Go语言提供了自己的高效并发编程方式但是同步方法依然不容忽视。这些方法集中在sync代码包及其子包中。这部分还涉及了字节和字符问题、OS操控方法和Web服务写法等这些都是我们在日常工作中很可能会用到的。
Go语言拾遗这部分将会讲述一些我们使用Go语言做软件项目的过程中很可能会遇到的问题至少会包含两篇文章是附赠给广大Go语言爱好者的。虽然我已经有一个计划了但是具体会讲哪些内容我还是选择暂时保密。请你和我一起小期待一下吧。
我希望本专栏能帮助或推动你去做更多的实践和思考。同时我也希望你能通过学习本专栏感受到学习的快乐并能够在应聘Go语言相关岗位的时候更加游刃有余。
所以,如果学,请深学。我不敢自称布道师,但很愿意去做推广优秀技术的事情。如果我的输出能为你的宝塔添砖加瓦,那将会是我的快乐之源。我也相信这几十篇文章可以做到这一点。