12 2022 档案

go通过chan和go func进行并发控制
摘要:原文: Go 并发实战核心编程【一】 1. 需求 启动一个goroutine,将1-10000的数字放入chan中 启动4个goroutine从chan中读取数字,并计算是不是素数 是素数就讲结果放入结果chan中 最后遍历结果chan,打印素数集合 2. 思路 这道题思路很简单,首先明确一个点就是 阅读全文

posted @ 2022-12-21 15:59 进击的davis 阅读(193) 评论(0) 推荐(0)

go使用sync.Pool的性能对比
摘要:在业务代码编码中,涉及到经常用前创建,用后销毁的资源,为了提高性能,减少内存分配,减轻GC压力,自然而然地就会联想到使用对象池的应用。 go在很多方面都有着sync.Pool的应用,我们经常使用的fmt.Println("balabala"),其实也用到了sync.Pool,不信可以自己去阅读源码。 阅读全文

posted @ 2022-12-20 11:09 进击的davis 阅读(319) 评论(0) 推荐(0)

gin源码学习-bind(6)
摘要:xxx 阅读全文

posted @ 2022-12-19 15:45 进击的davis 阅读(43) 评论(0) 推荐(0)

gin源码学习-request/response(5)
摘要:xxx 阅读全文

posted @ 2022-12-19 15:45 进击的davis 阅读(57) 评论(0) 推荐(0)

gin源码学习-context(4)
摘要:gin的context封装了request和response,gin框架在处理具体的请求时,也都是以context作为载体,gin的context的覆盖了很多功能,在gin的源码中其实已经很简单明了了,接下来讲分享个人对gin.context的一些理解。 首先看看gin中对context结构体的定义 阅读全文

posted @ 2022-12-19 15:39 进击的davis 阅读(1188) 评论(0) 推荐(0)

gin源码学习-中间件解析(3)
摘要:1.net/http中间件 net/http部分参照-Go 每日一库之 net/http(基础和中间件),看原文请移步:https://cloud.tencent.com/developer/article/1852023 标准库net/http中并没有实现中间件这种功能,net/http为我们提供 阅读全文

posted @ 2022-12-09 16:44 进击的davis 阅读(259) 评论(0) 推荐(0)

gin源码学习-路由注册(2)
摘要:gin框架主要是在标准库net/http的基础上对路由进行改写,本文将从net/http与gin的路由注册分享路由方面的一些理解。 1.net/http的路由注册 1.1 路由注册 首先来个demo: package main import ( "log" "net/http" ) func mai 阅读全文

posted @ 2022-12-08 16:45 进击的davis 阅读(333) 评论(0) 推荐(0)

gin框架项目实战系列汇总
摘要:最近打算整理重构项目的一些使用心得,打算做以下系列更新: gin-注册路由 gin-中间件 gin-http/https配置 gin-配置初始化-viper gin-错误定义 gin-统一响应response gin-zap日志及滚动 gin-缓存redis的使用 gin-数据库gorm的使用 gi 阅读全文

posted @ 2022-12-07 18:03 进击的davis 阅读(322) 评论(0) 推荐(0)

gin源码学习-项目启动(1)
摘要:最近公司后台项目也在用golang的gin框架进行重构,从gin官方给出的性能对比数据来看,性能十分优秀,而且干净整洁,少量代码就可以起一个web项目,简直不要太爽,目前github上的star数量已经65k(截至2022-12),十分亮眼。 已经有一定实践经验之后,这下来看看gin的具体实现,一来 阅读全文

posted @ 2022-12-07 15:27 进击的davis 阅读(328) 评论(0) 推荐(1)

[go-每日一库] go-gin项目使用realize实现代码、文件改动热更新
摘要:之前用django编写web应用时,每次保存,django应用都是重新加载-热更新,最近在写gin应用,了解到golang常用的热更新可以用到fresh/gin/gowatch/bee/realize/air等,本文主要分享realize的热更新应用。 realize 举个例子,有个叫demo的gi 阅读全文

posted @ 2022-12-05 23:55 进击的davis 阅读(558) 评论(0) 推荐(0)

[go每日一库] go-gin 使用swagger生成api文档
摘要:日常web开发的项目,由于涉及与前端同事沟通,每次修改都要去更新api文档,比较恼火,但好在有款api生成利器-swagger。 本文主要介绍swagger的基本使用,如需深入了解学习,请前往官方:https://github.com/swaggo/gin-swagger env go 1.19 g 阅读全文

posted @ 2022-12-03 14:32 进击的davis 阅读(1495) 评论(0) 推荐(0)

golang 标准库log的封装并实现日志切分
摘要:都知道golang的log库可以拿来就用,但对于生产来说还不够,需要基于log库做点封装。除了这些还有其他问题,比如打印字段定制化,性能问题。本文不讨论太多,只对log进行简单封装,实现log的持久化、loglevel、日志切分等功能。 参考: go原生log模块的简易封装 Golang 语言三方库 阅读全文

posted @ 2022-12-01 12:14 进击的davis 阅读(788) 评论(0) 推荐(0)

导航