这本书是写什么的?

这是一本 Go 语言快速入门手册,目标读者是有任一编程语言基础,希望以最快的时间 (比如一个周末) 入门 Go 语言。

这本书应该怎么读?

书中几乎没有较长篇幅的理论知识,更多的是 示例驱动开发,鼓励读者通过快速实践加深基础理解,加快学习速度。

全书按照章节顺序阅读即可,其中一些需要前置知识的小节都会有备注信息。

这本书有什么特别的?

在学习 Go 语言的初期,笔者几乎阅读了网络上所有人气较高的 Go 入门书籍Go 入门教程,但是这些资料或多或少存在以下问题:

  • 内容存在过多的概念描述,代码缺失严重
  • 示例代码碎片化,对初学者不友好
  • 章节编排不合理,开篇就讲各种配置、环境变量等
  • 低级错误,如错别字,代码 Bug

当然,这些 问题 是因人而异的,上面所说只是笔者的一家之言,欢迎拍砖。

本书尽可能地规避以上问题,努力使读者达到 最少量代码理解更多概念。 笔者在梳理和编排内容的过程中,尽可能地将 Go 知识点 全面覆盖,但是由于时间问题,可能忽略了一些语法、技术点的细节, 这是本书目前的不足之处。如果读者遇到问题,可以联系笔者随时指出。

为什么要写这本书?

这本书并非专门编写,而是笔者在整理笔记的过程中突发奇想:

为什么不将碎片笔记提炼总结, 输出为系统性的体系知识内容呢?

这样不仅提高了自身的写作能力,同时可以体验分享知识的感觉,

能够认识新朋友,一起交流,共同进步

关于分享这件事情

笔者分享的动力和勇气,主要受到了这两本书的影响。《Anything You Want》 里面的一句话:

你觉得非常普通的东西,在别人看起来可能非常厉害!

让笔者对分享有了非常强烈的兴趣和动力。 而另外一本《Show Your Work》,

则给了笔者非常大的勇气开始行动,正如书中所说:

你不需要是个天才,才有资格分享知识。

最后想说的话

写作的过程无疑是极具挑战性的,所有理论概念和示例代码,要站在读者的视角,在尽可能准确的前提下,清晰地表达出来。不过也正因为如此,笔者才真正体会到 费曼学习法 的高效之处。书的内容是对自己知识体系的整理成果,是经过思考后形成的结构化框架,最后分享给读者所获得的认同、交流、批评,更是额外的收获。

扩展阅读

  1. Show Your Work
  2. Anything You Want

联系我

Go 快速入门指南 - 序言的更多相关文章

  1. AngularJS快速入门指南20:快速参考

    thead>tr>th, table.reference>tbody>tr>th, table.reference>tfoot>tr>th, table ...

  2. AngularJS快速入门指南19:示例代码

    本文给出的大部分示例都可以直接运行,通过点击运行按钮来查看结果,同时支持在线编辑代码. <div ng-app=""> <p>Name: <input ...

  3. AngularJS快速入门指南18:Application

    是时候创建一个真正的AngularJS单页面应用程序了(SPA). 一个AngularJS应用程序示例 你已经了解了足够多的内容来创建第一个AngularJS应用程序: My Note Save Cl ...

  4. AngularJS快速入门指南17:Includes

    使用AngularJS,你可以在HTML中包含其它的HTML文件. 在HTML中包含其它HTML文件? 当前的HTML文档还不支持该功能.不过W3C建议在后续的HTML版本中增加HTML import ...

  5. AngularJS快速入门指南16:Bootstrap

    thead>tr>th, table.reference>tbody>tr>th, table.reference>tfoot>tr>th, table ...

  6. AngularJS快速入门指南15:API

    thead>tr>th, table.reference>tbody>tr>th, table.reference>tfoot>tr>th, table ...

  7. AngularJS快速入门指南14:数据验证

    thead>tr>th, table.reference>tbody>tr>th, table.reference>tfoot>tr>th, table ...

  8. AngularJS快速入门指南13:表单

    一个AngularJS表单是一组输入型控件的集合. HTML控件 HTML输入型标签标包括: input标签 select标签 button标签 textarea标签 HTML表单 HTML表单将各种 ...

  9. AngularJS快速入门指南12:模块

    AngularJS模块定义了一个application. 模块是一个application中不同部分的容器. application中的所有控制器都应该属于一个模块. 带有一个控制器的模块 下面这个a ...

  10. AngularJS快速入门指南11:事件

    AngularJS拥有自己的HTML事件指令. ng-click指令 ng-click指令定义了AngularJS的click事件. <div ng-app="" ng-co ...

随机推荐

  1. 如何调试 Docker

    开启 Debug 模式 在 dockerd 配置文件 daemon.json(默认位于 /etc/docker/)中添加 { "debug": true } 重启守护进程. $ s ...

  2. echarts 改变个别省份的边界线颜色

    想要实现地图,首先要引入china.js文件,如果有引入就直接调过本步骤去下方看代码,没有引入可以点击下方链接自行Ctrl c + Ctrl v china.js import "../.. ...

  3. JS 模块化- 05 ES Module & 4 大规范总结

    1 ES Module 规范 ES Module 是目前使用较多的模块化规范,在 Vue.React 中大量使用,大家应该非常熟悉.TypeScript 中的模块化与 ES 类似. 1.1 导出模块 ...

  4. 简书是如何把用户wo逼疯的

    趁验证码还有一分钟时间,吐槽一下简书. 准备开始在简书写文章,遇到一些问题. 一.markdown的问题 1.不支持html 2....... 二.绑定手机--这是一个bug 我原来是使用邮箱注册的, ...

  5. POJ3585 Accumulation Degree (树形DP-二次扫描与换根)

    本题属于不定根的树形DP,若以每个节点为根求解一次,复杂度太高,所以可以用换根的技巧. d[u]表示以u为根向下可以流的最大流量,这个是比较好求的,直接遍历到叶子节点,由子节点信息更新父节点.然后进行 ...

  6. VScode开发STM32/GD32单片机-MakeFile工程JlinkRTT配置

    本次使用开发板为STM32F401CCU6,使用CubeMX配置一个Makefile工程 配置时候为内部时钟 工程选择makefile工程类型 只生成需要的文件 用VSCode打开后显示很多波浪线 选 ...

  7. 基于雪花算法的增强版ID生成器

    sequence 基于雪花算法的增强版ID生成器 解决了时间回拨的问题 无需手动指定workId, 微服务环境自适应 可配置化 快速开始 依赖引入 <dependency> <gro ...

  8. 使用@Param标识参数

    可以通过@Param注解标识mapper接口中的方法参数 此时,会将这些参数放在map集合中,以@Param注解的value属性值为键,以参数为值: 以 param1,param2...为键,以参数为 ...

  9. 解决springboot+vue+mybatis中,将后台数据分页显示在前台,并且根据页码自动跳转对应页码信息

    文章目录 先看效果 1.要考虑的问题,对数据进行分页查询 2.前端和后台的交互 先看效果 1.要考虑的问题,对数据进行分页查询 mapper文件这样写 从每次开始查询的位置,到每页展示的条数, < ...

  10. 关于Object.keys()和Object.values()的使用

    关于Object.keys()和Object.values()的使用 1. 关于Object.keys() 1) 处理对象,返回可枚举的所有可枚举属性的字符串数组 let person ={ name ...