《Go语言学习之路》博客目录。

2015年底我因为工作原因接触到了Go语言,那时网上关于Go语言的学习资料不多,我就边学边记笔记,一直坚持到现在。我把自己学习Go语言的笔记发布出来是希望能给Go语言社区出一点绵薄之力,帮助更多的人加入Gopher大家庭。

Go语言介绍

为什么你应该学习Go语言?B站视频链接

开发环境准备

从零开始搭建Go语言开发环境(新)B站视频链接

VS Code配置Go语言开发环境B站视频链接

Go依赖管理及Go module使用

如何使用Go module导入本地包

Go语言基础

Go语言基础之变量和常量B站视频链接

Go语言基础之基本数据类型B站视频链接

Go语言基础之运算符B站视频链接

Go语言基础之流程控制B站视频链接

Go语言基础之数组B站视频链接

Go语言基础之切片B站视频链接

Go语言基础之mapB站视频链接

Go语言基础之函数

Go语言基础之指针B站视频链接

Go语言基础之结构体

Go语言基础之包B站视频链接

Go语言基础之接口B站视频链接

Go语言基础之error接口

Go语言基础之反射

Go语言基础之并发

Go语言基础之处理并发错误

Go语言基础之网络编程B站视频链接

Go语言基础之单元测试B站视频链接

泛型

何时使用泛型

Go语言常用标准库

Go语言标准库之fmt与格式化占位符

Go语言标准库之timeB站视频链接

Go语言标准库之flag

Go语言标准库之log

Go语言基础之文件操作B站视频链接

Go语言标准库之strconv

Go语言标准库之net/http

Go语言标准库之context

持续更新中…

单元测试教程

单元测试从零到溜系列——第0篇:单元测试基础

单元测试从零到溜系列——第1篇:网络测试

单元测试从零到溜系列——第2篇:MySQL和Redis测试

单元测试从零到溜系列——第3篇:mock接口测试

单元测试从零到溜系列——第4篇:monkey打桩测试

单元测试从零到溜系列——第5篇:goconvey的使用

单元测试从零到溜系列——第6篇:编写可测试的代码

数据库相关

Go操作MySQL——database/sql使用指南

更强大、更好用的sqlx库使用指南

sqlx库批量插入数据

Go操作Redis——go-redis库使用指南

Go操作MongoDB

Canal介绍和使用指南

Web开发相关

Go语言标准库之template

gin框架快速指南

gin框架路由拆分与注册

在gin框架中使用JWT认证

使用Air实现Go程序实时热重载

优雅的关机或重启gin项目

如何使用docker部署Go Web程序

Cookie和Session

gin框架中使用zap日志库

gin框架源码解析

gin框架中使用validator若干实用技巧

使用swagger生成接口文档

HTTP Server常用压测工具介绍

漏桶和令牌桶限流策略介绍及使用

部署Go语言程序的N种方法

微服务相关

RPC的原理与Go RPC

protobuf v3语法中文指南

Go语言protobuf使用指南

protobuf中oneof、WrapValue和FieldMask的使用

gRPC教程

gRPC中的名称解析和负载均衡

gRPC-Gateway教程

gRPC-Transcoding

consul服务注册与发现

Apollo配置中心

Go-kit

Go-kit教程01——基础示例

Go-kit教程02——gRPC

Go-kit教程03——项目目录结构

Go-kit教程04——中间件

Go-kit教程05——调用其他服务

Go-kit教程06——服务发现与负载均衡

常用组件和技巧

你需要知道的那些go语言json技巧

option选项模式

Go语言中的单例模式(翻译)

结构体转map的若干方法

Go语言配置管理神器——Viper中文教程

Go操作NSQ

Go操作kafka之sarama

Go操作Kafka之kafka-go

Go操作etcd

Go语言获取系统性能数据gopsutil库

二进制协议gob及msgpack介绍

influxDB

Elasticsearch简明指南

go-elasticsearch使用指南

Go第三方日志库logrus

Go语言项目中使用zap日志库(翻译)

Go pprof性能调优

为Go项目编写Makefile

在select语句中实现优先级

在关于切片操作的技巧(翻译)

Go语言结构体的内存布局

基于游标的分页

singleflight

依赖注入工具-wire

更友好的并发库-conc

RabbitMQ Go客户端教程

RabbitMQ Go客户端教程1——HelloWorld(翻译)

RabbitMQ Go客户端教程2——任务队列(翻译)

RabbitMQ Go客户端教程3——发布/订阅(翻译)

RabbitMQ Go客户端教程4——路由(翻译)

RabbitMQ Go客户端教程5——topic(翻译)

RabbitMQ Go客户端教程6——RPC(翻译)

GORM教程

GORM入门指南B站GORM视频教程

GORM CRUD操作指南

GORM Gen使用指南

OTel

OpenTelemetry 介绍

OpenTelemetry Go快速指南

Jaeger 快速指南

基于OTel的HTTP链路追踪

gRPC的链路追踪

zap记录链路追踪traceID

GORM配置链路追踪

Redis配置链路追踪

持续更新中…


扫码关注微信公众号