读《Go语言从入门到进阶实战》

作者: | 更新日期:

可以快速了解 go 语言语法,实战部分不推荐。

本文首发于公众号:天空的代码世界,微信号:tiankonguse

零、背景

去年开始从微信读书阅读《Go语言从入门到进阶实战》这本书,始终没读完。
过年的时候,终于把这本书读完了。

这本书前面 11 章节介绍语法与使用相关,第 12 章介绍 go语言的坑与技巧,第 13 章介绍作者开发的网络库。

作为一本入门书籍,面对一个初学者,直接介绍坑、技巧是不合适的,介绍网络库实战更是不合适的。
不过用来快速了解 go 的语法还是不错的。

这里简单的罗列下书中介绍的知识。

一、语法

第一章介绍怎么搭建 go 语言开发环境,编译运行程序。

第二章介绍变量、数据类型、类型转化、指针、变量生命周期、字符串、常量、类型别名知识点。

第三章介绍数组、切片slice、映射map、列表list。

第四章介绍 if、for、for range、switch、goto、break、continue语法。

第五章介绍函数的声明、函数变量、匿名函数、接口、闭包、可变参、defer、panic、recover语法。

第六章介绍结构体的定义、实例化、初始化、构造函数、方法、内嵌等。

第七章介绍接口的声明、与类型的关系与转换。

第八章介绍包。

第九章介绍并发,涉及协程 goroutine、通道 channel。

第十章介绍反射。

第十一章介绍编译与工具。

go build
go run
go install
go get
go test
go pprof

第十二章介绍坑和技巧。

经验1:协程有生命周期,小心会创建无数个协程导致内存爆掉。
经验2:尽量避免使用通道 channel,性能很差。
经验3:反射性能很差,有气死反射对象和反射函数的调用。
经验4:值为nil的接口与nil不相等,最常见的是 Error nil,大坑。
经验5:map 的 key 支持多值结构。

第十三章介绍实战,即通过作者封装的 TCP 网络库,实现一个聊天室。

三、最后

这本书在微信读书上可以读,在外面逛的时候,闲暇时间可以用来翻一下,学习写 Go 的语法,这点还是不错的。

加油,技术人。

《完》

-EOF-

本文公众号:天空的代码世界
个人微信号:tiankonguse
公众号ID:tiankonguse-code

本文首发于公众号:天空的代码世界,微信号:tiankonguse
如果你想留言,可以在微信里面关注公众号进行留言。

关注公众号,接收最新消息

tiankonguse +
穿越