老孙Go语言学习笔记-第零章

我为什么要学习Go?

  • 我司是从事基础架构、云原生工具类开发的,因为新产品方向的开发须要,须要引入Go语言来作为新的模块开发语言
  • 很多与基础架构无关的软件都应用了Go语言,像Docker、Kubernetes等
  • 可编译,跨平台,依赖少,执行速度快,之前应用Python时,模块依赖问题十分头疼,而Go语言可编译、依赖性少的特点非常适合咱们将来的需要
  • 具备可编译语言的能力,然而在开发层面又设计简略,例如:接口、指针

该笔记参考了哪些文档?

次要参考了这些文档

  • Learning Go: https://miek.nl/go/
  • Effective Go: https://go.dev/doc/effective_go
  • Go语言设计与实现:https://draveness.me/golang/
  • 还有泛滥的博客,一一在各个章节列出

该笔记对哪些人有帮忙?

  • 因为我的需要是可能读懂和开发Go的我的项目,所以该笔记器重实战和利用,所以你想疾速上手Go语言并进行开发,能够浏览本笔记
  • 对于浅近的原理和底层逻辑,尽量用代码逻辑去解释或给出参考链接
  • 如果对于Go语言底层实现有趣味的,举荐参考《Go语言设计与实现》

该笔记的架构

  • 本笔记大的架构还是参考了Learning Go,然而对于内容程序局部略有调整和删减
  • 一、二、三、四章属于根底篇,次要是语言根底局部,
  • 第五、六、七章开始属于语言个性篇
  • 第八章属于利用与实战
  • 后续可能继续更新像代码标准、常见的Go框架、Go我的项目代码剖析(restic,因为我须要钻研该我的项目)等内容,敬请期待

Go语言倒退历史

  • 英文的维基百科写的比拟有意思,举荐浏览:https://en.wikipedia.org/wiki/Go_(programming_language))
  • 简略来说Go语言是2007年在Google外部设计进去,本意是进步在特定畛域的开发效率
  • 由背景响当当的三位大牛设计,本着独特对C++的讨厌,设计了Go语言,简略来说就是取其精华去其糟粕
  • ,个别的材料没有给出他们的年龄,我这里特意查了一下,我想大家能看出咱们和美国之间的软件行业的差距了吧

    • Ken Thompson(1943年)
    • Rob Pike(1956年)
    • Robert Griesemer(1964年)

Go语言利用状况

这是TIOBE给出的Go语言排名变动状况,能够看到Go语言暴发期是在2016到2017年之间,这两年应该也是容器畛域最为沉闷和火爆的两年。

Kubernetes奉献状况统计

这是docker/cli我的项目的奉献状况统计

从Github第四季度统计状况来看,Go语言在Pull Requests排名第5位,处于回升趋势。

本文由博客一文多发平台 OpenWrite 公布!