文章目录 在线阅读:Golang 编程时光 第一章:基础知识 1.1 一文搞定开发环境的搭建 1.2 五种变量创建的方法 1.3 数据类型:整型与浮点型 1.4 数据类型:byte、rune与字符串 1.5 数据类型:数组与切片 1.6 数据类型:字典与布尔类型 1.7 数据类型:指针 1.8 流程控制:if-else 1.9 流程控制:switch-case 1.10 流程控制:for 循环 1.11 流程控制:goto 无条件跳转 1.12 流程控制:defer 延迟语句 1.13 流程控制:理解 select 用法 1.14 异常机制:panic 和 recover 1.15 语法规则:理解语句块与作用域 第二章:面向对象 2.1 面向对象:结构体与继承 2.2 面向对象:接口与多态 2.3 面向对象:结构体里的 Tag 用法 2.4 学习接口:详解类型断言 2.5 学习接口:Go 语言中的空接口 2.6 学习接口:接口的三个"潜规则" 2.7 学习反射:反射三定律 2.8 学习反射:全面学习反射的函数 2.9 详细图解:静态类型与动态类型 2.10 关键字:make 和 new 的区别? 2.11 面向对象:Go 语言中的空结构体 第三章:项目管理 3.1 依赖管理:包导入很重要的 8 个知识点 3.2 依赖管理:超详细解读 Go Modules 应用 3.3 开源发布:如何开源自己写的包给别人用? 3.4 代码规范:Go语言中编码规范 第四章:并发编程 4.1 学习 Go 函数:理解 Go 里的函数 4.2 学习 Go 协程:goroutine 4.3 学习 Go 协程:详解信道/通道 4.4 学习 Go 协程:WaitGroup 4.5 学习 Go 协程:互斥锁和读写锁 4.7 学习 Go 协程: 信道死锁经典错误案例 4.7 学习 Go 协程:如何实现一个协程池? 4.8 理解 Go 语言中的 Context 4.9 学习一些常见的并发模型 4.10 学习 Go 函数:函数类型是什么? 第五章:学标准库 5.1 fmt.Printf 方法速查指南 5.2 os/exec 执行命令的五种姿势 5.3 命令行参数的解析:flag 库详解 第六章:开发技能 6.1 Go 命令:go test 工具详解 6.2 单元测试:如何进行单元测试? 6.3 调试技巧:使用 GDB 调试 Go 程序 6.4 Go 命令: Go 命令指南 第七章:Go面试题 7.1 Go 中的 = 和 := 有什么区别? 7.2 Go 中的指针有什么作用? 7.3 Go 允许多个返回值吗? 7.4 Go 有异常类型吗? 7.5 Go 中的 rune 类型是什么? 7.6 Go 语言中的深拷贝和浅拷贝? 7.7 局部变量分配在栈上还是堆上? 7.8 什么叫字面量和组合字面量? 7.9 为什么常量、字符串和字典不可寻址? 7.10 为什么 slice 元素是可寻址的? 7.11 对象选择器自动解引用怎么用? 7.12 slice 扩容后容量及内存如何计算? 7.13 goroutine 存在的意义是什么? 7.14 说说 Go 中闭包的底层原理? 第八章:暂未分类 8.1 20 个学习 Go 语言的精品网站 8.2 Go 语言中边界检查 8.3 Go 语言中的内存分配规律及逃逸分析 8.4 Go 中晦涩难懂的寻址问题 欢迎交流 对文章有什么疑问,对项目有什么建议,可以添加微信与我交流,同时欢迎关注我的个人微信公众号。