golang专题下共有 363 篇文章
-
- Golang指针深拷贝实现与Copy方法详解
- 在Go语言中,指针类型的深拷贝不会自动完成,直接赋值只会复制指针地址,导致多个指针指向同一块内存区域,修改其中一个会影响另一个;要实现真正的深拷贝,必须手动编写Copy方法,确保结构体中的每个字段都被独立复制,尤其是嵌套结构体、切片和映射等引用类型字段。1.基本类型字段可以直接赋值;2.指针字段需重新new对象并递归调用Copy方法;3.切片应新建数组并复制元素;4.map需新建并逐项复制键值对;5.需判断原始指针是否为nil以避免空指针异常;6.多层嵌套结构应逐层调用Copy方法;常见错误包括未深拷贝m
- Golang· Go教程 | 11小时 | golang 指针 浅拷贝 深拷贝 Copy方法 344浏览 收藏
-
- Golang防腐层设计与外部依赖隔离方法
- 防腐层模式在Go中通过适配器实现,核心是定义适配器接口并为每个外部系统实现具体适配器。1.定义核心领域模型,如User结构体;2.定义适配器接口,声明所需操作;3.实现具体适配器,处理外部系统调用与数据转换;4.在业务逻辑中依赖适配器接口;5.使用依赖注入切换适配器。策略选择取决于外部系统复杂度和数据需求,性能优化可通过缓存、批量处理、并行及优化转换逻辑实现。接口变更时只需修改适配器,不影响核心逻辑。该模式并非适用于所有场景,适合频繁集成且外部系统多变的情况。
- Golang· Go教程 | 3星期 | golang 适配器 接口隔离 外部依赖 防腐层模式 343浏览 收藏
-
- Golang生成API文档,SwaggerUI集成教程
- Golang实现自动化API文档可通过SwaggerUI结合代码注释自动生成文档,从而提升开发效率并确保文档的实时性和准确性。其步骤包括:1.选择swaggo/swag作为Swagger规范库;2.安装SwagCLI工具;3.在代码中按规范添加注释描述API信息;4.运行swaginit生成swagger.json或swagger.yaml文件;5.使用swaggo/gin-swagger和swaggo/files集成SwaggerUI到Gin应用;6.在main.go顶部添加项目元数据注释;7.启动应用
- Golang· Go教程 | 2星期 | golang 自动化 swaggerui API文档 代码注释 343浏览 收藏
-
- Golang缓存设计:内存与Redis协同方案
- Golang中设计高效缓存策略的关键在于结合内存缓存与Redis优势并采用合适方案。首先选择合适的缓存库,如go-cache适合小型项目,BigCache和FreeCache适合高并发场景;其次确定唯一且易生成的缓存键策略;第三设置合理的过期时间以平衡命中率与更新频率;第四实现缓存更新策略,包括Cache-Aside、Read-Through/Write-Through和Write-Behind;第五使用Redis作为二级缓存提升数据持久性和容量;第六通过监控工具定期检查缓存性能;针对缓存穿透可采用缓存空
- Golang· Go教程 | 4星期 | golang redis 数据一致性 内存缓存 缓存策略 342浏览 收藏
查看更多
课程推荐
-
- Golang深入理解GPM模型
- Golang深入理解GPM调度器模型及全场景分析,希望您看完这套视频有所收获;包括调度器的由来和分析、GMP模型简介、以及11个场景总结。
- 474次学习
-
- Go语言课程Gin框架实战
- Gin是一个用Go(Golang)编写的HTTPweb框架。它是一个类似于 martini 但拥有更好性能的API框架,由于 httprouter,速度提高了近40倍。如果你需要极好的性能,使用Gin吧。
- 338次学习
-
- Golang云原生架构师课程
- Go是一门并发支持、垃圾回收的编译型系统编程语言;本课程转载自哔哩哔哩:https://www.bilibili.com/video/BV1Mh411M7A
- 204次学习
-
- Go编程基础视频教程
- Go是一门并发支持、垃圾回收的编译型系统编程语言,旨在创造一门具有在静态编译语言的高性能和动态语言的高效开发之间拥有良好平衡点的一门编程语言。我们收集了这套《Go编程基础视频教程》,希望能够帮助大家更好的学习go语言。
- 167次学习
-
- Golang进阶实战编程
- 本课程是在《Go语言基础视频》基础之上录制的,是Go语言基础的后半部分。包括包的管理,IO操作,Go语言最大的亮点:高并发,goroutine,channel,反射等。本视频主要为了帮助Go语言的初学者,从零到一的快速入门。学完本套课程,可以学会如果通过包管理Go项目,并发模型,以及并发实现,channel通道如何传递数据,反射等等。
- 128次学习