这本书是写什么的?

这是一本 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. MongoDB 单实例节点主机的用户和权限一般操作步骤

    步骤总结: 1.先正常启动 2.创建用户,创建数据库病授权用户 3.关闭程序,开启安全,然后启动 4.使用账号和密码连接 按未开启认证的方式(配置文件中没开启安全选项并且启动命令中不添加 --auth ...

  2. Prometheus与服务发现

    这种按需的资源使用方式对于监控系统而言就意味着没有了一个固定的监控目标,所有的监控对象(基础设施.应用.服务)都在动态的变化.对于Prometheus这一类基于Pull模式的监控系统,显然也无法继续使 ...

  3. 在CentOS 8服务器上搭建FastDFS环境

    什么是FastDFS? 这里,我就摘录下百度百科上对于FastDFS的描述. FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.文件下 ...

  4. 从dva到vuex的使用方法()

    官网文档:https://vuex.vuejs.org/zh/ 辅助理解的博客:https://blog.csdn.net/m0_70477767/article/details/125155540 ...

  5. Java SE 19 虚拟线程

    Java SE 19 虚拟线程 作者:Grey 原文地址: 博客园:Java SE 19 虚拟线程 CSDN:Java SE 19 虚拟线程 说明 虚拟线程(Virtual Threads)是在Pro ...

  6. 洛谷P1115 最大子段和 (线性DP)

    经典的线性DP例题,用f[i]表示以第i个位置结尾的最大连续子段和. 状态转移方程:f[i]=max(f[i],f[i-1]+a[i]); 这里省去了a数组,直接用f数组读数据,如果f[i-1]< ...

  7. vue路由守卫用于登录验证权限拦截

    vue路由守卫用于登录验证权限拦截 vue路由守卫 - 全局(router.beforeEach((to, from, next) =>来判断登录和路由跳转状态) 主要方法: to:进入到哪个路 ...

  8. HTML基础知识(1)常用标签的使用 h、p、img、meta、a、iframe...

    文章目录 1.html简介 2.html注释 3.标签的属性 3.1 代码 3.2 测试结果 4.常用的标签 4.1 代码 4.2 测试结果 5.实体 5.1 代码 5.2 测试结果 6.图片引入 6 ...

  9. 如何使用IDEA创建一个简单的java工程?

    文章目录 1.创建新工程 1.1 新建项目 1.2 在src目录下创建package 1.3 在包下创建类 2.编写代码.运行项目 2.1 编写代码 2.2 运行结果 3.开心的从eclipse转移到 ...

  10. JUC(11)各种锁的理解(公平锁、可重入锁、自旋锁、死锁)

    文章目录 1.公平锁.非公平锁 2.可重入锁 3.自旋锁 4.死锁 1.公平锁.非公平锁 公平锁:非常公平.不能插队.必须先来后到 非公平锁:非常不公平.可以插队.(默认非公平) 可以修改为公平锁 2 ...