Go 快速入门指南 - 序言
这本书是写什么的?
这是一本 Go 语言快速入门手册,目标读者是有任一编程语言基础,希望以最快的时间 (比如一个周末) 入门 Go 语言。
这本书应该怎么读?
书中几乎没有较长篇幅的理论知识,更多的是 示例驱动开发,鼓励读者通过快速实践加深基础理解,加快学习速度。
全书按照章节顺序阅读即可,其中一些需要前置知识的小节都会有备注信息。
这本书有什么特别的?
在学习 Go 语言的初期,笔者几乎阅读了网络上所有人气较高的 Go 入门书籍 和 Go 入门教程,但是这些资料或多或少存在以下问题:
- 内容存在过多的概念描述,代码缺失严重
- 示例代码碎片化,对初学者不友好
- 章节编排不合理,开篇就讲各种配置、环境变量等
- 低级错误,如错别字,代码 Bug
当然,这些 问题 是因人而异的,上面所说只是笔者的一家之言,欢迎拍砖。
本书尽可能地规避以上问题,努力使读者达到 最少量代码理解更多概念。 笔者在梳理和编排内容的过程中,尽可能地将 Go 知识点 全面覆盖,但是由于时间问题,可能忽略了一些语法、技术点的细节, 这是本书目前的不足之处。如果读者遇到问题,可以联系笔者随时指出。
为什么要写这本书?
这本书并非专门编写,而是笔者在整理笔记的过程中突发奇想:
为什么不将碎片笔记提炼总结, 输出为系统性的体系知识内容呢?
这样不仅提高了自身的写作能力,同时可以体验分享知识的感觉,
能够认识新朋友,一起交流,共同进步
关于分享这件事情
笔者分享的动力和勇气,主要受到了这两本书的影响。《Anything You Want》 里面的一句话:

你觉得非常普通的东西,在别人看起来可能非常厉害!
让笔者对分享有了非常强烈的兴趣和动力。 而另外一本《Show Your Work》,
则给了笔者非常大的勇气开始行动,正如书中所说:

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

Go 快速入门指南 - 序言的更多相关文章
- AngularJS快速入门指南20:快速参考
thead>tr>th, table.reference>tbody>tr>th, table.reference>tfoot>tr>th, table ...
- AngularJS快速入门指南19:示例代码
本文给出的大部分示例都可以直接运行,通过点击运行按钮来查看结果,同时支持在线编辑代码. <div ng-app=""> <p>Name: <input ...
- AngularJS快速入门指南18:Application
是时候创建一个真正的AngularJS单页面应用程序了(SPA). 一个AngularJS应用程序示例 你已经了解了足够多的内容来创建第一个AngularJS应用程序: My Note Save Cl ...
- AngularJS快速入门指南17:Includes
使用AngularJS,你可以在HTML中包含其它的HTML文件. 在HTML中包含其它HTML文件? 当前的HTML文档还不支持该功能.不过W3C建议在后续的HTML版本中增加HTML import ...
- AngularJS快速入门指南16:Bootstrap
thead>tr>th, table.reference>tbody>tr>th, table.reference>tfoot>tr>th, table ...
- AngularJS快速入门指南15:API
thead>tr>th, table.reference>tbody>tr>th, table.reference>tfoot>tr>th, table ...
- AngularJS快速入门指南14:数据验证
thead>tr>th, table.reference>tbody>tr>th, table.reference>tfoot>tr>th, table ...
- AngularJS快速入门指南13:表单
一个AngularJS表单是一组输入型控件的集合. HTML控件 HTML输入型标签标包括: input标签 select标签 button标签 textarea标签 HTML表单 HTML表单将各种 ...
- AngularJS快速入门指南12:模块
AngularJS模块定义了一个application. 模块是一个application中不同部分的容器. application中的所有控制器都应该属于一个模块. 带有一个控制器的模块 下面这个a ...
- AngularJS快速入门指南11:事件
AngularJS拥有自己的HTML事件指令. ng-click指令 ng-click指令定义了AngularJS的click事件. <div ng-app="" ng-co ...
随机推荐
- 如何调试 Docker
开启 Debug 模式 在 dockerd 配置文件 daemon.json(默认位于 /etc/docker/)中添加 { "debug": true } 重启守护进程. $ s ...
- echarts 改变个别省份的边界线颜色
想要实现地图,首先要引入china.js文件,如果有引入就直接调过本步骤去下方看代码,没有引入可以点击下方链接自行Ctrl c + Ctrl v china.js import "../.. ...
- JS 模块化- 05 ES Module & 4 大规范总结
1 ES Module 规范 ES Module 是目前使用较多的模块化规范,在 Vue.React 中大量使用,大家应该非常熟悉.TypeScript 中的模块化与 ES 类似. 1.1 导出模块 ...
- 简书是如何把用户wo逼疯的
趁验证码还有一分钟时间,吐槽一下简书. 准备开始在简书写文章,遇到一些问题. 一.markdown的问题 1.不支持html 2....... 二.绑定手机--这是一个bug 我原来是使用邮箱注册的, ...
- POJ3585 Accumulation Degree (树形DP-二次扫描与换根)
本题属于不定根的树形DP,若以每个节点为根求解一次,复杂度太高,所以可以用换根的技巧. d[u]表示以u为根向下可以流的最大流量,这个是比较好求的,直接遍历到叶子节点,由子节点信息更新父节点.然后进行 ...
- VScode开发STM32/GD32单片机-MakeFile工程JlinkRTT配置
本次使用开发板为STM32F401CCU6,使用CubeMX配置一个Makefile工程 配置时候为内部时钟 工程选择makefile工程类型 只生成需要的文件 用VSCode打开后显示很多波浪线 选 ...
- 基于雪花算法的增强版ID生成器
sequence 基于雪花算法的增强版ID生成器 解决了时间回拨的问题 无需手动指定workId, 微服务环境自适应 可配置化 快速开始 依赖引入 <dependency> <gro ...
- 使用@Param标识参数
可以通过@Param注解标识mapper接口中的方法参数 此时,会将这些参数放在map集合中,以@Param注解的value属性值为键,以参数为值: 以 param1,param2...为键,以参数为 ...
- 解决springboot+vue+mybatis中,将后台数据分页显示在前台,并且根据页码自动跳转对应页码信息
文章目录 先看效果 1.要考虑的问题,对数据进行分页查询 2.前端和后台的交互 先看效果 1.要考虑的问题,对数据进行分页查询 mapper文件这样写 从每次开始查询的位置,到每页展示的条数, < ...
- 关于Object.keys()和Object.values()的使用
关于Object.keys()和Object.values()的使用 1. 关于Object.keys() 1) 处理对象,返回可枚举的所有可枚举属性的字符串数组 let person ={ name ...