上一页 1 2 3 4 5 6 7 8 9 10 ··· 33 下一页

2023年2月1日

golang实现冒泡排序的三种方法

摘要: 今天重温排序的一些简单方法-冒泡排序,了解排序的同学们应该知道,冒泡排序是一种朴素的排序方法,通常我们都会用2个for-loop搞定,第一层遍历每个元素,第二层则遍历前面的元素,第一层每次循环后,都会把当次遍历的最大值移动到数组的后面位置,数组后几位即成升序的状态。 根据冒泡排序的方法论,整理出以下 阅读全文

posted @ 2023-02-01 16:24 进击的davis 阅读(429) 评论(0) 推荐(0) 编辑

2023年1月14日

go 格式化输出

摘要: 直接上代码: package main import "fmt" func main() { // %s s1 := "hello" s2 := []byte("world") fmt.Printf("string: %s, slice: %s\n", s1, s2) // string: hell 阅读全文

posted @ 2023-01-14 14:41 进击的davis 阅读(25) 评论(0) 推荐(0) 编辑

2023年1月4日

go time的定时器简单总结

摘要: go的标准库中的time包为我们提供了多个定时器的接口,总共分为以下几个: time.After,到了给定的duration的时间时,返回可读chan,也不会阻止程序运行,相当于一个消息通知 time.Sleep,在给定的duration中,阻塞当前goroutine,过了休眠时间,goroutin 阅读全文

posted @ 2023-01-04 10:51 进击的davis 阅读(117) 评论(0) 推荐(0) 编辑

2022年12月21日

go通过chan和go func进行并发控制

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

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

2022年12月20日

go使用sync.Pool的性能对比

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

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

2022年12月19日

gin源码学习-bind(6)

摘要: xxx 阅读全文

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

gin源码学习-request/response(5)

摘要: xxx 阅读全文

posted @ 2022-12-19 15:45 进击的davis 阅读(41) 评论(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 阅读(946) 评论(0) 推荐(0) 编辑

2022年12月9日

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 阅读(199) 评论(0) 推荐(0) 编辑

2022年12月8日

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 阅读(284) 评论(0) 推荐(0) 编辑

2022年12月7日

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 阅读(245) 评论(0) 推荐(0) 编辑

gin源码学习-项目启动(1)

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

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

2022年12月5日

[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 阅读(475) 评论(0) 推荐(0) 编辑

2022年12月3日

[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 阅读(972) 评论(0) 推荐(0) 编辑

2022年12月1日

golang 标准库log的封装并实现日志切分

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

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

2022年11月30日

golang 生成MD5、SHA256摘要

摘要: golang生成常用摘要字符串比较简单,简单总结下用的比较多的两种。 method-1 func GenerateMd5(str string) string { // method_1, cannot reset hash := md5.Sum([]byte(str)) return fmt.Sp 阅读全文

posted @ 2022-11-30 11:07 进击的davis 阅读(590) 评论(0) 推荐(0) 编辑

2022年11月23日

go-gin简单实现tls https服务

摘要: 1.目录结构 2.代码 由于是demo,可以手动自生成证书和秘钥: 1、 生成服务器端的私钥 # openssl genrsa -out server.key 2048 2、 生成服务器端证书 # openssl req -new -x509 -key server.key -out server. 阅读全文

posted @ 2022-11-23 15:57 进击的davis 阅读(831) 评论(0) 推荐(0) 编辑

2022年11月5日

golang-gin-gorm-viper实现数据简单的增删改查

摘要: 目录结构: 配置文件: app: addr: 127.0.0.1:8888 mysql: host: 172.xx.xx.xx port: 3306 user: root password: root database: gin enable: true gorm: skipDefaultTx: f 阅读全文

posted @ 2022-11-05 17:18 进击的davis 阅读(370) 评论(0) 推荐(0) 编辑

2022年11月3日

go-gin集成jwt认证

摘要: 今天趁热打铁,把cookie/session/jwt集成go-gin框架的认证方式,一鼓作气全code一遍,life is short, show you the code. 示例目录结构: 项目入口: package main import ( "gin-any/api" "github.com/ 阅读全文

posted @ 2022-11-03 18:15 进击的davis 阅读(367) 评论(0) 推荐(0) 编辑

go-gin集成session认证

摘要: 常用的认证方式分为cookie/session/jwt,本文将演示golang的gin框架中如何集成session完成用户认证。 示例目录结构: 项目main入口: package main import ( "gin-any/api" "github.com/gin-gonic/gin" ) fu 阅读全文

posted @ 2022-11-03 16:44 进击的davis 阅读(509) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 8 9 10 ··· 33 下一页

导航