mark
当你决定学 Go,这是你即将面对的…(一部分):⸻🧱 Go 语言基础:变量声明(var、短变量声明 :=)、函数、包管理(模块、go mod)、值类型 vs 引用类型、常量、控制结构、数组、切片(底层结构、扩容机制、共享底层数组陷阱)、Map(哈希冲突、遍历无序)、字符串与 rune、结构体、指针(你以为逃过了指针地狱?)、方法与接口(鸭子类型)、类型断言、类型别名与定义、零值初始化、defer、panic/recover、init() 函数执行顺序、裸返回(你敢用它就等着被骂)。💡 面向接口编程:接口本质(隐式实现)、接口值结构(interface 是一个 tuple:类型+数据)、nil 接口陷阱、空接口 (interface{})、类型断言与 type switch、组合 vs 继承、值接收器 vs 指针接收器区别。🧵 并发编程:goroutine、channel(无缓冲、有缓冲、关闭通道)、select 多路复用、context 控制 goroutine 生命周期、WaitGroup、Mutex、RWMutex、sync.Once、sync.Map、atomic 原子操作、race condition 检查(go run -race)、调度器(GPM 模型)、CSP 模型哲学、不要在生产上滥用 channel 做 pub-sub。💥 错误处理:error 接口(值语义)、errors 包、fmt.Errorf + %w、自定义 error 类型、sentinel error、wrap & unwrap、go1.20 引入的 errors.Join、不是每个 err 都该 panic,你得学会优雅处理 error 返回。🧪 标准库与测试:net/http、json、os、io、bufio、context、time、flag、template、log、testing(单测、基准测试、示例测试)、go test -cover、table driven tests、mock 接口、自定义测试套件。📦 包管理与项目结构:go mod init、go get、replace、包导入循环报错、包粒度与复用、internal 包限制、工具类包 vs 面向业务目录结构(cmd、pkg、internal、api、configs…)。📊 工程能力:代码生成(go generate)、embed、lint 工具(golangci-lint)、gosec 安全检查、性能分析(pprof)、内存泄漏分析、trace、逃逸分析(go build -gcflags)、内联优化、go build、go run、交叉编译、构建信息注入(-ldflags)。🐋 网络编程与服务开发:http.Client 超时设置、超时控制与上下文 context 传播、gRPC(protobuf、interceptor、拦截器链、metadata)、RESTful API、Gin/Echo/Fiber、服务启动优雅关闭(context + signal)、日志(logrus/zap)、配置中心(viper)、依赖注入(wire、fx)、中间件设计、OpenAPI + Swagger、JWT + Session 认证、接口幂等设计。🗃️ 数据存储与 ORM:sql 包原生操作、连接池原理、事务(tx)、预编译语句、数据库扫描(Scan vs ScanStruct)、GORM(生命周期钩子、关联加载、字段映射、更新空值)、MongoDB 官方驱动、Redis Go 客户端、消息队列(Kafka、NATS、RabbitMQ)、分布式锁实现。🚀 微服务与分布式基础:服务注册与发现(etcd、consul)、配置中心、服务网关(Kong、APISIX)、限流熔断(resilience-go、sentinel-go)、链路追踪(OpenTelemetry + Jaeger)、日志收集(filebeat + ELK)、容器部署(Docker、K8s)、Sidecar 模式、微服务部署规范。🧠 常用工具与生态:GoLand、delve 调试、golangci-lint、Air 热加载、Taskfile 替代 Makefile、Swag 文档生成、protobuf 编译、mockgen、goimports、gofmt、vet、buf、wire 自动注入。✍️ 附加内容:•如何优雅处理协程泄漏?•为什么 defer 要小心用?•你以为 Go 没有 GC 就能低延迟?•为什么你手写的并发永远跑不过 sync.Map?•JSON 序列化 struct tag 写错一个字母,天崩地裂。当你觉得 Go 学起来简单是因为你还没学完。欢迎进入 Go 世界 —— 看起来干净写起来爆肝
点赞 38
评论 17
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务