Go 语言核心 36 讲
郝林
《Go 并发编程实战》作者,前轻松筹大数据负责人
79610 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 55 讲
Go 语言核心 36 讲
15
15
1.0x
00:00/06:24
登录|注册

开篇词 | 跟着学,你也能成为Go语言高手

讲述:黄洲君大小:8.78M时长:06:24
Go语言拾遗
标准库的用法
Go程序的测试
数据类型和语句
基础概念
Go语言
参考文章

该思维导图由 AI 生成,仅供参考

你好,我是郝林。今天想跟你聊聊我和 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 语言相关岗位的时候更加游刃有余。
所以,如果学,请深学。我不敢自称布道师,但很愿意去做推广优秀技术的事情。如果我的输出能为你的宝塔添砖加瓦,那将会是我的快乐之源。我也相信这几十篇文章可以做到这一点。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

Go语言是一门由Google出品的通用型计算机编程语言,近年来迅速崛起并成功跻身主流编程语言之列。该语言在云计算、微服务、大数据、区块链、物联网等领域蓬勃发展,受到广泛关注。许多大厂和创业公司都已拥抱Go语言,如阿里巴巴、滴滴、今日头条等。作者郝林是Go语言爱好者,撰写了《Go并发编程实战》一书,并发起维护了一个Go语言爱好者组织GoHackers。他希望通过专栏帮助读者迅速掌握Go语言,以及在应聘Go语言相关岗位时更加游刃有余。专栏内容分为基础概念、数据类型和语句、Go程序的测试、标准库的用法和Go语言拾遗五个章节,涵盖了Go语言的基础知识和高阶技术。通过一种比较熟悉和友好的路径去学习,作者希望读者能基本掌握Go语言。

2018-08-06141人觉得很赞给文章提建议

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Go 语言核心 36 讲》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(283)

  • 最新
  • 精选
  • Geek_49eb3e
    置顶
    虽然我是Java控,但也要支持一下

    作者回复: 我之前也做了8年的Java开发,有空还想学学Kotlin呢。

    2018-08-09
    2
    90
  • Diviner.
    置顶
    祝早日康复

    作者回复: 谢谢!

    2018-08-09
    34
  • coder
    老师你好,有个问题困扰我一段时间了,看Go编译器的源码会发现一大堆的go代码,那么问题来了,go是怎么做到自举的,在没有go编译器的时候,它是怎么做到自己编译自己的?

    作者回复: 所谓自举,指的是自己编译自己。这肯定不是说“自己生成自己”,而是说“自己生成新版的自己”。对于Go语言,从 Go 1.5 版本开始,你可以用当前版本的Go编译器去编译下一个版本的Go语言源码。比如,你可以用 Go 1.12 的编译器去编译将来的 Go 1.13 的源码。

    2019-05-05
    3
    8
  • BridgetLai
    真的有必要学习多门编程语言吗? Java做了几年了.但是现在新兴的Python,Go,Kotlin 他们都有自己擅长的领域.那再学习的必要性有多大呢?

    作者回复: 学习多门编程语言绝对没有坏处,不仅可以开拓思路,还可以扩展知识面。每个编程语言都有自己的编程哲学和设计理念,了解这些并且深入探索一些自己感兴趣的点是很有好处的。学无止境,尤其是计算机软件这个领域。

    2018-09-30
    7
  • jacky
    支持一下、早日康复。

    作者回复: 谢谢!

    2018-08-10
    6
  • 先听
    有时想定义一些数组或者map类型的常量。但是go语言不支持。请问这种情况下有没有什么好的实践方法呢?

    作者回复: 常量是不可点的量,字典是引用类型,所以是两个阵营的东西。你可以做到包外不可变,也就是说字典谁为私有,然后公开几个只读的函数。或者基于字典再封装一个结构体,先保证这个类型的方法都是只读方法,然后把此类值的原语指针赋给常量。

    2019-09-30
    2
    5
  • 摸似一个么得感情滴学习机器
    你好,老师,go相比的C++区别和优势在哪,两者的区别?包括rust,老是了解的话,也可以谈一下

    作者回复: 这个话题太大了。 它们的区别太多了。如果只说应用领域,那么 Go 语言在 基于服务系统、中间件以及云计算领域都有很大的优势。而且 Go 语言的学习曲线明显更低。不过,从目前看来, C++ 和 Rust 在操作系统底层编程方面还存在一些优势。Rust 主要是因为内存安全和无 GC。

    2019-09-06
    3
  • angelajing
    对日项目的程序媛。最近打算用golang重构一个java springboot的项目,才开始接触go语言。官方的golang文档很多都是英文,啃起来太吃力了。在图灵上搜索go的编程书籍才一点点循迹摸到了这儿,注册极客时间账号用新人特价优惠订阅的课程,祝身体健康,事业顺利

    作者回复: 谢谢!祝进步!

    2020-08-29
    2
  • 程序员班吉
    老师,问一下go语言的微服务目前代码组织比较主流的思想都有哪些?

    作者回复: 你说“代码组织”是指什么?指的是程序中的代码包命名和划分吗?

    2019-06-27
    2
  • 付付,
    老师您好,都说Go语言有JAVA 或者 C++基础学起来会轻松一点,我是3年PHP开发,直接跟着您的课程学习Go没问题吧? 是不是也可以完全掌握呢?

    作者回复: 只要想学就没有问题。Go 语言门槛不高的。

    2019-06-17
    2
收起评论
显示
设置
留言
99+
收藏
99+
沉浸
阅读
分享
手机端
快捷键
回顶部