
go
文章平均质量分 62
go
zzsan
这个作者很懒,什么都没留下…
展开
-
go - grpc入门
proto文件是符合Protocol Buffers语言规范的数据交换协议文件,就像以前WebService定义服务时使用的XML文件。这个协议很简单,有个名字为Hello的服务,提供一个名字为Say的rpc方法,这个方法有输入输出,输入信息中有一个名为Name的参数,输出信息中有一个名为Message的返回值。原创 2025-03-27 15:12:36 · 312 阅读 · 0 评论 -
grpc工具使用
访问,根据系统型号,下载对应版本的protoc工具,并将下载到的可执行文件存放于$path中安装完成后,可通过指令校验是否安装成功。原创 2025-03-05 15:07:07 · 484 阅读 · 0 评论 -
go - 疑难杂症汇总
github.com/konsorten/go-windows-terminal-sequences原创 2023-01-04 17:14:23 · 772 阅读 · 1 评论 -
go - gin框架,body参数只能读取一次问题
gin框架,body参数只能读取一次问题原创 2022-06-09 13:07:32 · 2049 阅读 · 0 评论 -
go - cron定时任务
本文重点gin结合cron实现定时任务定时任务cron执行不成功?定时任务原理(todo, 有时间再补充)gin结合cron实现定时任务传送门cron代码库cron文档V3cron文档简单示例话不多说, 先上一个最简单, 开箱即用的例子相关依赖 go get github.com/robfig/cron/v3@v3.0.0示例代码package mainimport ( "fmt" "github.com/gin-gonic/gin" "github.com/rob原创 2022-05-26 18:16:03 · 3251 阅读 · 0 评论 -
golang time类型常见问题解决方案
前言背景大概如下:项目框架为gin, 数据库orm为gorm, 一个比较简单的model, 包含某个time类型字段(如: CreateTime), 返回数据给前端时, 返回的格式为2022-01-17T00:00:00+08:00, 这种数据结构, 返回给前端时, 前端如果直接用来渲染, 这种格式的时间的可读性不高, 故需要转换成用户较好理解的格式, 如: 2022-01-17 00:00:00解决方案// 示例modeltype demo struct { Id int原创 2022-03-31 17:50:17 · 3525 阅读 · 1 评论 -
go - 异常处理&错误堆栈获取
背景最近调整gin项目框架的时候, 想起, 框架的异常处理还没完善, 目前只是把简单的error信息打印到日志里优化优化前package middlewareimport ( "net/http" "github.com/gin-gonic/gin")func HandleException() gin.HandlerFunc { return func(ctx *gin.Context) { defer func() { if err := recover(); err原创 2022-03-16 11:46:49 · 3100 阅读 · 0 评论 -
go - gorm使用过程中遇到的问题和解决
时间默认值当使用的gorm为 "github.com/jinzhu/gorm"时, 可通过以下方式, 实现插入数据前赋予默认值db.Callback().Create().Replace("gorm:update_time_stamp", updateTimeStampWhileCreate)func updateTimeStampWhileCreate(scope *gorm.Scope) { if !scope.HasError() { nowTime := time.Now() if原创 2021-10-21 15:09:41 · 3939 阅读 · 2 评论 -
使用realize实现gin框架的热更新
背景使用gin框架编写项目,每次修改完后,想验证效果时,总是忘了重启服务,导致验收时总是质疑人生据闻beego是有热更新的,不过这里先不展开讨论预研于是寻思着是否有现成的办法实现了这个功能呢,毕竟,按理来说,应该不止我一个遇到这个问题,经过若干年的发展,go应该也成熟起来了,至少,应该有不少前人造了类似的轮子了。百度了一下,说有若干种方法,其中,在github上star比较多的,应数 realize 和 gin 了(这里的gin不是gin框架),都看了一下两个的源码,虽然都已经有些年份没有维护原创 2021-10-11 20:17:10 · 1536 阅读 · 0 评论 -
go - gin快速入门指引
相关链接gin文档gin源码地址gin最最最简单的一个demo创建一个test.go文件,并键入以下内容:package mainimport "github.com/gin-gonic/gin"func main() { r := gin.Default() r.GET("/test", func(c *gin.Context) { c.JSON(200, gin.H{ "message": "success", }) }) r.Run() // 监听并在 0.原创 2021-09-28 16:59:44 · 903 阅读 · 0 评论 -
浅谈gin
内容概览分析几种常见的启动http服务的方式ListenAndServe剖析启动gin时的warning是哪里输出的gin.Default()和gin.New()的主要做的是什么gin封装了什么,基本思路是怎样的(todo: 还没整理)1. 分析几种常见的启动http服务的方式引入对应的包go get -u github.com/gin-gonic/gin几种启动http服务的方法方式一:func main() { router := gin.Default() router.原创 2021-09-24 19:43:04 · 327 阅读 · 0 评论 -
go指令和mod文件解析
前言go开发前期准备go常用指令go getgo get用于拉取新的依赖(以下例子内的[module-path]是依赖的地址)go get [module-path]@latest 拉取最新的版本(优先择取 tag)go get [module-path]@master 拉取 master 分支的最新 commitgo get [module-path]@v1.1.1 拉取 tag 为 v1.1.1 的 commitgo get [module-path]@123abc 拉取 hash 为原创 2021-09-18 23:27:25 · 955 阅读 · 0 评论 -
go开发前期准备
安装本文主要介绍的是windows环境配置.访问: https://golang.org/dl/ 或 https://golang.google.cn/dl/下载安装包 windows下载msi文件即可。安装完随便运行一段go代码,运行正常即可package mainimport "fmt"func main() { fmt.Println("Hello, World!")}环境配置假设go的安装路径是: D:\Gogo项目的开发路径是: E:\GoProject环境变量原创 2021-09-17 22:45:32 · 185 阅读 · 0 评论