前言
1.
关于本书籍
2.
为什么选择go
Go开发环境搭建
3.
环境搭建
❱
3.1.
集成开发环境
3.2.
第一个go程序
Go语言基础
4.
go语言基础
❱
4.1.
常量
4.2.
变量
4.3.
基本类型
4.4.
字符串
4.5.
数组和切片
4.6.
map
4.7.
指针类型
4.8.
运算
4.9.
流程控制
4.10.
函数
4.11.
结构体和方法
4.12.
package和可见性
4.13.
goroutine和channel
4.14.
interface
4.15.
反射
4.16.
错误处理
4.17.
panic和recover
Go标准库
5.
go标准库
❱
5.1.
strings包
5.2.
bytes包
5.3.
fmt格式化输入输出
5.4.
文件读写
5.5.
time时间和日历
5.6.
flag命令行参数解析
5.7.
json序列化
5.8.
log程序日志
5.9.
strconv字符串和其他基本类型转换
5.10.
sort排序
Go项目管理
6.
go项目管理
❱
6.1.
go包依赖管理
6.2.
go单元测试
6.3.
go cmd
Go并发编程
7.
并发和并行
❱
7.1.
原子操作
7.2.
goroutine同步
7.3.
条件变量
7.4.
使用channel做goroutine同步
7.5.
sync once
7.6.
并发安全map
7.7.
sync pool
7.8.
同步拓展方案-semaphore
7.9.
同步拓展方案-singleflight
7.10.
同步拓展方案-errgroup
Go web服务
8.
go web服务
❱
8.1.
http参数获取和http-client
8.2.
http请求参数校验
8.3.
web服务框架
Go数据库编程
9.
go使用mysql
❱
9.1.
go使用mongodb
9.2.
go使用redis
9.3.
go使用es
Go内嵌kv数据库
10.
为什么需要内嵌数据库
❱
10.1.
boltdb
10.2.
badger
10.3.
goleveldb
Go socket编程
11.
socket编程
❱
11.1.
go tcp udp服务
11.2.
go-socks5实现
11.3.
go-websocket
11.4.
深入理解connection-multiplexing
Go微服务
12.
微服务
❱
12.1.
grpc和protobuf
12.2.
docker
12.3.
容器编排
12.4.
go-micro微服务框架
Go runtime
13.
go runtime 简介
❱
13.1.
go map
13.2.
go channel
13.3.
go调度器
13.4.
go内存分配器(未完)
13.5.
go垃圾回收器(未完)
Go和c语言
14.
cgo简介
❱
14.1.
cgo入门
14.2.
cgo的使用场景
14.3.
指针和内存互访
14.4.
动态链接和静态链接
Go汇编
15.
go汇编简介(未完)
❱
15.1.
go汇编基础(未完)
15.2.
函数(未完)
15.3.
go汇编使用场景(未完)
15.4.
go汇编笔记
Go分布式系统
16.
分布式系统简介
❱
16.1.
分布式一致性协议—2PC
16.2.
分布式一致性协议—Raft
16.3.
分布式一致性协议—Gossip
16.4.
分布式全局时间戳
16.5.
Etcd介绍
Go程序调试
17.
go调试器—delve
❱
17.1.
GODEBUG追踪调度器
17.2.
GODEBUG追踪gc
Go程序调优
18.
火焰图
Go实战
19.
go http2 开发
❱
19.1.
go语言结构体优雅初始化
19.2.
go程序物理内存占用高的问题
附录
20.
go泛型
21.
go泛型对传统orm的影响
22.
go1.18workspace
23.
demo代码
Light (default)
Rust
Coal
Navy
Ayu
Go一站式编程
关于本书籍
本书籍归纳和总结我本人的一些经验。一些文章资料参考互联网相关内容。
关于我
一个混迹在魔都10多年的资深后端程序员,专注后端高性能,高并发编程。主要涉及编程语言有golang和rust。
联系我
Github: https://github.com/widaT
Gitee: https://gitee.com/wida
mail: wida59@gmail.com
微信:
Go语言学习群:如果过期可加我微信,拉你入群
Discord: