go实战全家桶
文章平均质量分 79
以实战为主,全面讲解go微服务解决方案
leijmdas
技术培训 业务咨询 技术方案 java培训 go培训 设计培训 领域驱动设计 测试驱动开发 测试驱动学习 曾经华为员工 三十年从业经验 高级系统架构师
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Go实战全家桶之91:Gin REST 框架的超时设置
Gin框架超时设置方法总结:1.全局超时:通过http.Server配置ReadTimeout/WriteTimeout;2.中间件超时:使用context.WithTimeout为单个路由设置超时;3.使用gin-contrib/timeout中间件。最佳实践建议:合理设置5-30秒超时,区分读写超时,关键路由单独配置,并记录超时日志。推荐组合使用全局和路由级超时控制。原创 2025-07-29 23:20:18 · 1145 阅读 · 0 评论 -
fastDFS go客户端
→ 选。原创 2025-07-19 22:57:19 · 854 阅读 · 0 评论 -
Go实战全家桶之90: gocode代码工厂
本文展示了两个Go语言测试用例的执行结果。第一个测试Test004_Ini()调用了MakeMysql函数创建数据库连接;第二个测试Test008_QueryTable()验证了分页查询功能,返回了包含3条元数据记录的查询结果,总记录数为765条。测试数据展示了元数据表的详细字段信息,包括ID、子系统ID、名称、别名等属性,并确认查询成功返回200状态码。测试验证了数据库连接和分页查询功能的正确性。原创 2025-07-20 12:14:34 · 545 阅读 · 0 评论 -
Go实战全家桶之85: goExcel导入操作
摘要:该代码实现了文件上传和Excel数据导入功能。上传接口限制文件大小为5MB,接收文件后保存到指定路径,然后调用Excel导入模块处理数据。导入模块读取Excel文件中的工价表数据,验证数据有效性后,将数据保存到数据库。主要包含用户验证、文件处理、数据校验和数据库操作等功能,支持计件工资数据的批量导入。原创 2025-07-16 00:21:30 · 1079 阅读 · 0 评论 -
Go实战全家桶之83: go ExportExcel
Excelize库提供了丰富的功能来操作Excel文件,包括:创建、读取和保存Excel文件设置单元格样式、列宽和行高添加图表、图片等复杂元素支持流式处理大数据量134。对于简单的导出需求,上述基本示例已经足够。如果需要更复杂的功能,如合并单元格、条件格式、公式等,Excelize也提供了相应的API支持。原创 2025-07-13 10:12:45 · 686 阅读 · 0 评论 -
Go实战全家桶之84: goExcel 通用导出框架
摘要:本文展示了一个基于Go语言的Excel导出功能实现。代码包含两个主要部分:1) 测试用例展示了如何查询计件工资数据并导出Excel文件;2) GoexcelFrame结构体封装了Excel操作的核心功能,包括数据准备、表头设置、数据类型处理等。实现支持多种数据类型(整数、小数、日期等)的导出,并提供了文件名生成、文件保存等功能。通过PutInt、PutDecimal等方法可以灵活设置列格式,最终生成的Excel文件包含格式化后的数据和表头。该模块通过结构化的方式简化了Excel导出流程,适用于各种业务原创 2025-07-13 14:38:39 · 724 阅读 · 0 评论 -
Go实战全家桶之82: gorm=>mysql bit(1)=>bool
摘要:该代码定义了一个BitField类型,用于处理布尔值到数据库bit(1)类型的映射。它实现了MarshalJSON/UnmarshalJSON用于JSON序列化,Value/Scan用于数据库操作。代码还包含一个OrderMaster结构体示例,其中IncludeTax字段使用BitField类型,并定义了GORM标签说明该字段是bit(1)类型,表示"是否含税"。结构体还包含订单总金额字段,使用decimal(14,2)类型存储。整个实现提供了布尔值在数据库和JSON中的完整转换原创 2025-07-11 21:30:23 · 342 阅读 · 0 评论 -
java全家桶之56: go对接java erp
摘要:本文展示了Go语言实现的Java平台功能,主要包括用户令牌管理和权限验证。通过Goplatform结构体实现令牌获取、用户信息查询等功能,使用Redis存储会话数据。CheckToken方法验证请求头中的access-token有效性,Query方法演示了如何在实际业务中应用令牌验证。代码示例包含完整的ErpUser用户模型定义和基于Gin框架的API接口实现,展示了从请求处理到Redis数据操作的全流程。原创 2025-07-08 15:37:52 · 551 阅读 · 0 评论 -
go Testcontainers
go复制下载},},原创 2025-07-06 22:37:41 · 789 阅读 · 0 评论 -
Go实战全家桶之89: go elasticsearch如何创建嵌套结构体
测试结果证实该结构体设计能满足网站访问数据存储和分析需求。IfDealDone bool `json:"if_deal_done"` //成交 → Deal Done / Trade Executed / Transaction Completed。IfShareQqzone bool `json:"if_share_qqzone"` //分享到QQ空间 → Share to QQ Zone / Share to Qzone。原创 2025-06-23 17:02:50 · 686 阅读 · 0 评论 -
PostgreSQL序列值获取与优化
你的原始代码逻辑正确,通过优化可更简洁地实现相同功能。务必理解序列在 PostgreSQL 中的行为特点,特别是其不受事务回滚影响的特性,确保符合业务需求。原创 2025-06-19 16:24:54 · 1052 阅读 · 0 评论 -
go转换结构体goframe解决一个历史大坑--血的教训,困惑我很久了(linux呈现)
Decode2StruList报错。}定义了 ,string。原创 2025-06-12 12:51:51 · 1051 阅读 · 0 评论 -
go elasticsearch earchService = searchService.Size(0) 0代表什么
在 Elasticsearch 的 Go 客户端中,中的 0hits。原创 2025-06-07 21:22:58 · 527 阅读 · 0 评论 -
go实用加密解密代码:aes/rsa
/ logger.Errorf("[AesDecrypt]解密失败,cryted:%s,key:%s,err:%s", cryted, key, err)// logger.Errorf("[AesEncrypt]加密失败,orig:%s,key:%s,err:%s", orig, key, err)// 获取秘钥块的长度。// 获取秘钥块的长度。// GenKey 生成密钥对。// 3.使用公钥加密。// Encrypt 加密。// Decrypt 解密。原创 2025-06-03 11:27:53 · 545 阅读 · 0 评论 -
Go实战全家桶之85:go-micro如何将日志写入文件
在Go-Micro框架中,可以通过几种方式将日志写入文件。原创 2025-06-02 12:34:26 · 674 阅读 · 0 评论 -
Go实战全家桶之84:gin如何将日志写入文件
go复制下载import ("log""os"if err!原创 2025-06-01 10:55:34 · 591 阅读 · 0 评论 -
Go实战全家桶之83:如何将es语句写入文件
goif err!原创 2025-06-01 08:44:07 · 914 阅读 · 0 评论 -
Go实战全家桶之82:gorm sql写入文件已交付
/ 自定义 Logger 结构体,实现 gorm.io/gorm/logger.Interface。原创 2025-06-01 08:30:31 · 1065 阅读 · 0 评论 -
Go实战全家桶之80:go老系统增加功能且需要重构有什么好的建议
在设计 Go REST API 的返回码时,是否需要规划子错误码取决于具体的业务复杂度和客户端需求。:需客户端根据不同错误类型采取不同逻辑(如 Token 过期需跳转登录页)。:仅区分“参数缺失”和“参数格式错误”,主错误码已足够。(如支付、风控):推荐子错误码,提升可维护性。:通过子错误码体系,未来新增错误类型更灵活。:内部工具类 API,客户端处理逻辑简单。:错误原因单一,且无需客户端做差异化处理。:前端代码固化,无法适配动态子错误码。:遗留系统改造,需避免错误码结构变动。原创 2025-05-31 14:26:04 · 1368 阅读 · 0 评论 -
Go实战全家桶之81:gorm sql如何写入文件
实现 GORM 的。原创 2025-05-31 14:40:39 · 349 阅读 · 0 评论 -
Go实战全家桶之79:跨领域数据服务已成,Db/ES/API分层--源于实战项目, 部署微服务。
"shop_full_name": "华南电子科技有限公司","account_name": "华南(佣金)","shop_name": "华南电子科技",复杂的由简单组成,原子组成分子,分子组成物体。世界上没有复杂的问题,只有复杂的思考。"msg": "成功",一键生成esentity。apidaoes公共封装。原创 2025-05-28 12:04:55 · 1002 阅读 · 0 评论 -
Go实战全家桶之77:github.com/stretchr/testify/suite使用简介--源于实践项目 ,面向对象
是 Go 语言中一个流行的测试工具包,它提供了测试套件(Test Suite)的功能,允许你组织相关的测试用例并在它们之间共享设置和拆卸代码。原创 2025-05-25 11:32:38 · 960 阅读 · 0 评论 -
goDB性能要求指定fields
"msg": "成功","msg": "成功",原创 2025-05-18 10:04:06 · 457 阅读 · 0 评论 -
Go实战全家桶之76:通用PageResult设计--源于实践项目,接口设计也是生产力!https://gitee.com/leijmdas/goweb.git
/返回日期转为int64。//比较值:一个或多个值。//最后一个查询字段。// 通用表查询请求数据。原创 2025-05-17 18:23:14 · 569 阅读 · 0 评论 -
go如何开发一个框架,象java一样通过interface作为对象的实例注入
go复制下载package diimport ("reflect""sync"components sync.Map // 存储组件实例})go复制下载// UserService 接口// UserServiceImpl 实现// OrderService 接口// OrderServiceImpl 实现UserService UserService `di:"userService"` // 依赖注入。原创 2025-05-14 13:48:25 · 1263 阅读 · 0 评论 -
Go实战全家桶之75:gographql自动转换请求响应的结构体--源于实战项目
DateCode string `json:"date_code" doc:"批次"` //批次。LeadTime string `json:"lead_time" doc:"货期"` //货期。Packing string `json:"packing" doc:"包装"` //包装。Coo string `json:"coo" doc:"产地"` //产地。原创 2025-05-13 14:41:07 · 708 阅读 · 0 评论 -
go如何发现一个结构体实现了一个interface
通常推荐使用第一种编译时检查方法,因为它能在开发早期发现问题。这些方法可以帮助你在Go中确保类型正确地实现了所需的接口。对于指针接收器方法,需要检查指针类型是否实现了接口(如。对于值接收器方法,可以直接检查值类型(如。的所有方法,编译时会报错。原创 2025-05-11 23:15:33 · 464 阅读 · 0 评论 -
Go实战全家桶之74:go注册全局interface实例--源于实战项目
if glog!= nil {import ("reflect""sync"//注册接口实例//获取接口实例var t Treturn t。原创 2025-05-11 23:00:58 · 442 阅读 · 0 评论 -
Go实战全家桶之73:go通用Result设计优化功能--源于实践项目
"msg": "成功","msg": "成功","msg": "成功",结果转MAP, 结果过滤。结果转换map代码实现。原创 2025-05-11 14:22:33 · 606 阅读 · 0 评论 -
Go实战全家桶之72:goDb/ES/Service分层操作--源于实战项目
service/apidao是db,es操作的简单封装,无业务逻辑。service/apiservice是业务层db+es操作。dbentity/esentiy一键生成的代码。apiservice测试。原创 2025-05-09 18:57:18 · 1147 阅读 · 0 评论 -
go如何测试rpc?
"description": "推广人","description": "参谋","description": "编辑","description": "编辑","lead_time": "1天","lead_time": "1天","batch": "2025 年","lead_time": "1天","lead_time": "1天","batch": "2025年","batch": "2025年","origin": "中 国","origin": "中 国",原创 2025-05-08 10:40:28 · 742 阅读 · 0 评论 -
Go实战全家桶之70:goElastic通用查询结果比对--源于实战项目
ret.CheckRecordSuite(this.Suite, "dept_id=100", "phone=15888888888|leader=若依")ret.CheckRecordSuite(this.Suite, "dept_id=100", "phone=15888888888|leader=若依")*** CheckRecord leader=若依 OK ****** CheckRecord leader=若依 OK ***原创 2025-04-29 09:04:14 · 921 阅读 · 0 评论 -
Go实战全家桶之69:go极简代码工具--源于实战项目,开发者神器工业级巨匠
"dept_name": "深圳总公司","dept_name": "若依科技","leader": "若依","leader": "若依","msg": "成功",原创 2025-04-28 22:55:48 · 555 阅读 · 0 评论 -
Go实战全家桶之67:goweb提供http测试工具--源于实战项目 https://gitee.com/leijmdas/goweb.git
Author 作者: leijianming@163.com 时间(2024-02-18 22:38:21)@Update 作者: leijianming@163.com 时间(2024-02-18 22:38:21)golog.Info("Suite setup", "领域驱动设计,测试驱动开发!@Title 文件名称: asuite_test.go。// 用于 'go test' 的入口。// 依赖 suite.Suite。"msg": "成功",// 每个测试运行前,会执行。原创 2025-04-27 11:48:21 · 596 阅读 · 0 评论 -
Go实战全家桶之66:gowater/esserver通用ES查询cache--源于实战项目 https://gitee.com/leijmdas/gowater.git
/ @Success 200 {object} page.PageResult "成功"// @Failure 400 {object} string "请求错误"// @Failure 500 {object} string "内部错误"@Update 作者: leijianming@163.com 时间(2024-04-18 22:38:21)原创 2025-04-26 19:31:02 · 626 阅读 · 0 评论 -
Go实战全家桶之65:goweb通用db查询cache--源于实践项目
/ 使用反射获取字段值。原创 2025-04-26 11:28:49 · 630 阅读 · 0 评论 -
Go实战全家桶之64: go使用redis加锁--源于实战项目
fmt.Printf("[initRedis] 初始化普通模式Redis,检测连接Ping... %s", pong)必须匹配requirepass服务器配置选项中指定的。value string // 唯一标识,一般使用uuid。// 连接到服务器之后,选择的数据库(编号)// host:port地址。// TryLock 加锁重试五次。// Redis 获取redis。// redis 锁。原创 2025-04-25 14:15:39 · 1055 阅读 · 1 评论 -
Go实战全家桶之63:goweb通用es查询cache--源于实践项目
import (qdc.Init()return qdcreturn qq。原创 2025-04-24 17:17:41 · 381 阅读 · 0 评论 -
Go实战全家桶之62:go小数据全缓存
/ 默认过期时间10s;清理间隔30s,即每30s钟会自动清理过期的键值对。// 默认过期时间10s;清理间隔30s,即每30s钟会自动清理过期的键值对。原创 2025-04-23 10:12:55 · 1434 阅读 · 0 评论 -
Go实战全家桶之61:gowebframe多工程示例
go 1.20use (./gocmd./gocfg./godi./golog./gomini./gonats./gorpc./goweb。原创 2025-04-20 11:39:32 · 185 阅读 · 0 评论
分享