# 6.4 总结
我最近听go被描述成一门无聊的语言。无聊时因为很容易学,容易写,更重要的是容易读。也许,我实际帮了个倒忙。我已经用了3章谈论类型并介绍了如何声明变量。
如果你有静态类型语言的编程背景,最好情况下,我们看到的大多数可能只是复习一下而已。go语言让指针用起来更明显且易用了,并且go将数组封装成切片,对经验丰富的java和c#程序员来说,不是什么压倒性的优势。
如果你主要是使用动态型语言,你可能觉得有点不一样。这是一个公平的学习。不仅仅是各种各样的语法声明和初始化。尽管作为一个go语言的粉丝,尽管作为Go的粉丝,我发现,对于所有的简单性的进展,也有一些不太简单。虽然如此,这里也涉及到一些基本规则(比如你可以使用:=声明变量,但是只能声明一次)和基本理解(比如使用new(x)或者&X{}只能分配内存,但是切片、映射和通道需要更多的初始化所以使用make)。
除此之外,go语言让我们以一种简单有效的方式组织代码。接口,基于返回值的错误处理方式,通过defer管理资源,并且以一种简单的方式实现组合。
最后但是也最重要的是go内置支持并发。关于go协程没有什么要说的了,除了协程简单有效(无论如何使用简单)。这是一个很好的抽象。通道更为复杂。我一直认为在使用高水平封装之前先理解最基本使用方法。我认为不通过通道学习并发编程是很有用的。但是,对我来说,我觉得通道的实现方式不像一个简单的抽象。它们几乎都是自己的基本构建块。我这样说是因为它们改变了你如何编写和思考并发编程。考虑到并发编程是多么的不易,这肯定是一件好事。
## 链接
- [目录](directory.md)
- 上一章:[继续之前](6.4.md)
- 关于本书
- 引言
- 准备工作
- 安装 Go语言开发环境
- 开始使用Go
- 创建一个Go模块
- 第一章 手把手系列
- 1.1 教你搭建Nginx教程
- 1.2 教你搭建Jupyter教程
- 1.3 教你搭建Node教程
- 1.4 教你搭建Fabric教程
- 1.5 教你搭建Ethereum教程
- 1.6 教你搭建Bitcoin教程
- 1.7 教你搭建Systemd教程
- 第二章 架构师之路
- 2.1 微服务开发笔记
- 2.2 Docker开发笔记
- 2.3 ElasticSearch开发笔记
- 2.4 Linux开发笔记
- 2.5 Mysql开发笔记
- 2.6 Nginx开发笔记
- 2.7 Redis开发笔记
- 第三章 区块链教程
- 3.1 Bitcoin开发笔记
- 3.2 Ethereum开发笔记
- 3.3 USDT开发笔记
- 第四章 网络知识库
- 4.1 比特币白皮书
- 4.2 以太坊白皮书
- 第五章 技术博客园
- 5.1 Fabric架构详解
- 5.2 技术开发指南
- 5.3 共识机制详解
- 第六章 项目管理
- 6.1 项目运行环境
- 6.2 项目经理的角色
- 6.3 第6、7、8章框架
- 第七章 公务员考公
- 7.1 程序员成功上岸经历
- 7.2 程序员备考的最佳实践
- 7.3 程序员备考过程中会遇到哪些问题?
- 7.4 公考公平吗,35岁再去考可以么?
- 7.5 资料、工具推荐和扩展阅读
- 结论
- 附录