发展史核心优势环境搭建GOROOTGOPATHGo Modules第一个程序
变量声明短变量常量iota基本数据类型零值机制类型转换
if-elsefor循环range无限循环switch类型switchdefer
数组切片makeappend扩容机制map并发安全
多返回值匿名函数闭包可变参数函数作为参数init执行顺序
指针 & *new函数结构体定义值/指针接收者嵌套组合
接口定义鸭子类型空接口类型断言error接口panic/recover
Go Modulesgo mod inittidy/vendor导入路径init函数可见性
goroutinego关键字GOMAXPROCSchannel无缓冲/有缓冲select多路复用
sync.WaitGroupMutex/RWMutexOnce/Cond原子操作worker poolfan-in/out
fmtstrings/strconvtime定时器math/randcrypto/rand
io/os文件读写bufioencoding/json序列化log包
net包TCP/UDPHTTP客户端/服务器http.ServeMux中间件模式
testing表格驱动测试benchmarkpprof逃逸分析
Gin路由GET/POST/PUT/DELETE参数绑定中间件Logger/Recovery
RESTful规范模型绑定验证文件上传分组路由优雅重启
连接MySQL/PostgreSQL模型定义CRUD关联查询Belongs To/Has Many
钩子事务预加载PreloadScopesSQL构建器AutoMigrate
Session vs TokenJWT原理生成与验证Gin中间件鉴权
项目结构分层统一响应全局错误处理日志中间件Swagger
Redis数据类型go-redis缓存策略穿透/击穿/雪崩分布式锁
RabbitMQExchange/Queue/Bindingamqp091-go生产者消费者延迟队列
微服务设计原则gRPCProtocol BuffersUnary/Streaming RPCGo gRPC
Consul/Eureka服务注册健康检查服务发现负载均衡
ViperYAML/JSON/Env多环境配置配置热更新
日志分级Zap日志轮转lumberjackELK收集
Dockerfile多阶段构建Docker Compose编排Go+MySQL+Redis镜像优化
GitHub ActionsGitLab CI自动化测试构建部署Docker推送
SQL注入防范XSS/CSRFbcrypt/AESHTTPS/TLS
论坛系统注册登录发帖回帖Redis缓存RabbitMQ异步Docker部署