
go-zero
文章平均质量分 81
码农兴哥
纸上得来终觉浅,绝知此事要躬行。
展开
-
go-zero自动生成repository文件和测试用例
在软件开发中,尤其是在采用分层架构或者领域驱动设计(DDD)的项目里,repository(仓库)是一个关键概念,它起到数据访问层和业务逻辑层之间的桥梁作用,负责处理数据的持久化与检索,让业务逻辑层无需直接与数据库或其他数据存储交互。简单来说,repository 是一种设计模式,它把数据访问逻辑封装起来,让业务逻辑层和数据访问层解耦,从而提高代码的可维护性和可测试性。UserRepo 就是一个实现了该模式的具体类,它提供了对 User 模型的各种数据操作方法。原创 2025-04-10 16:47:43 · 806 阅读 · 0 评论 -
go-zero使用elasticsearch踩坑记:时间存储和展示问题
通过go写入ES的示例,但是里面存在一个细节问题,就是写入的时间和ES展示的时间相差8小时的问题。导致这个问题的原因是时区设置的问题。由于写入到ES的时候没有特别设置具体的时区,ES会当成UTC时间处理,也就是认为写入的时间是UTC的2025-04-02 14:32:00,然而北京时间比UTC时间晚8个小时,那么,可以推测kibana页面上看到的应该是北京时间。原创 2025-04-03 17:20:12 · 1000 阅读 · 0 评论 -
go-zero中使用elasticsearch的示例
go-zero中使用elasticsearch的示例:模拟一个常见的业务,就是写入系统日志的功能,在go-zero中将系统日志写入到ES中。文件,这个文件中主要实现ES索引的定义和写入数据、以及查询数据的逻辑。原创 2025-03-04 10:04:28 · 728 阅读 · 0 评论 -
go-zero中定时任务的用法
在go-zero框架中使用定时任务调度的写法示例,首先需要用到的扩展:`go get -u github.com/robfig/cron/v3`,在这里我写上两个示例的定时任务,分别为“20秒打印一次SayHello”,以及“每一分钟查询一次当前用户总数”;可以轻松的在go-zero中实现定时任务的调度了,可以精确到秒级别。原创 2025-02-25 11:57:36 · 603 阅读 · 0 评论 -
Golang关于结构体组合赋值的问题
Golang关于结构体组合赋值的问题原创 2025-02-14 17:56:23 · 372 阅读 · 0 评论 -
go语言简单快速的按顺序遍历kv结构(map)
在go语言中,如果需要对map遍历,每次输出的顺序是不固定的,多运行几次就会发现,每次运行后的顺序并不一致,因为go中的map的遍历是不保证顺序的。那么,直接在遍历的时候对key进行排序再按照key的顺序输出可以保证输出的都是按照key由小到大排序的结果。但是会存在缺陷。因此可以考虑存储为二维切片或结构体。原创 2025-02-12 18:43:29 · 515 阅读 · 0 评论 -
go-zero框架基本配置和错误码封装
每个层只需依赖这个上下文,而不需要直接处理底层的配置和初始化逻辑。是服务上下文的依赖注入,所有的配置项和数据库连接、以及业务逻辑所需的模型实例,都被集中管理在。接下来,我们把成功返回部分也优化一下,把原有的logic的成功返回部分改为统一封装的。上面只是配置了不同的env,还需要有一个方法来加载当前设定的env。同时可以新增如下配置文件,具体要在当前项目中运行哪个配置文件,修改。原创 2025-01-23 17:08:04 · 838 阅读 · 0 评论 -
go-zero框架快速入门
go-zero 是一个集成了各种工程实践的 web 和 rpc 框架。通过弹性设计保障了大并发服务端的稳定性,经受了充分的实战检验。go-zero 包含极简的 API 定义和生成工具 goctl,可以根据定义的 api 文件一键生成代码。原创 2025-01-06 15:31:07 · 1539 阅读 · 0 评论