随笔分类 -  go

上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 16 下一页

go语言web开发系列之十八:gin框架用base64Captcha生成图形验证码
摘要:一,安装库 1,库的地址 https://github.com/mojocn/base64Captcha 2,安装: liuhongdi@ku:~$ go get -u github.com/mojocn/base64Captcha 说明:刘宏缔的go森林是一个专注golang的博客, 地址:htt 阅读全文

posted @ 2021-01-22 11:21 ExplorerMan 阅读(737) 评论(0) 推荐(0)

go语言web开发系列之十七:用go-redis+lua实现顺序自增的唯一id发号器
摘要:一,安装go-redis 1,从命令行执行: liuhongdi@ku:~$ go get -u github.com/go-redis/redis/v8 说明:安装命令及版本等信息可以从github站直接得到 说明:刘宏缔的go森林是一个专注golang的博客, 地址:https://blog.c 阅读全文

posted @ 2021-01-22 11:20 ExplorerMan 阅读(549) 评论(0) 推荐(0)

go语言web开发系列之十六:gin框架中通过gorm使用事务
摘要:一,演示项目的相关信息 1,地址: https://github.com/liuhongdi/digv16 2,功能:以下订单为例,演示了在gorm中启用事务 3, 项目结构:如图: 说明:刘宏缔的go森林是一个专注golang的博客, 地址:https://blog.csdn.net/weixin 阅读全文

posted @ 2021-01-22 11:19 ExplorerMan 阅读(1017) 评论(0) 推荐(0)

go语言web开发系列之十四:用gin框架实现基于ip地址的限流
摘要:一,安装用到的库 1,从命令行安装 x/time/rate库 iuhongdi@ku:~$ go get -u golang.org/x/time/rate 说明:刘宏缔的go森林是一个专注golang的博客, 地址:https://blog.csdn.net/weixin_43881017 说明: 阅读全文

posted @ 2021-01-22 11:18 ExplorerMan 阅读(648) 评论(0) 推荐(0)

go语言web开发系列之十三:gin框架实现图片文件上传
摘要:一,演示项目的信息 1,项目地址: https://github.com/liuhongdi/digv13 2,功能说明: 演示了通过gin框架上传图片文件,包括单张上传和多张上传 3, 项目结构:如图: 说明:刘宏缔的go森林是一个专注golang的博客, 地址:https://blog.csdn 阅读全文

posted @ 2021-01-22 11:17 ExplorerMan 阅读(695) 评论(0) 推荐(0)

go语言web开发系列之十一:gin框架通过casbin实现rbac权限设计(csv存储)
摘要:一,安装casbin 1,casbin项目代码的地址 https://github.com/casbin/casbin 2,为go安装casbin liuhongdi@ku:~$ go get -u github.com/casbin/casbin/v2 说明:刘宏缔的go森林是一个专注golang 阅读全文

posted @ 2021-01-22 11:16 ExplorerMan 阅读(1256) 评论(0) 推荐(0)

go语言web开发系列之九:gin框架中用bigcache做进程内缓存
摘要:一,安装用到的库 1,安装go-redis liuhongdi@ku:~$ go get -u github.com/go-redis/redis 2,安装bigcache liuhongdi@ku:~$ go get -u github.com/allegro/bigcache 说明:刘宏缔的go 阅读全文

posted @ 2021-01-22 11:15 ExplorerMan 阅读(852) 评论(0) 推荐(0)

go语言web开发系列之六:gin使用zap记录http服务的访问日志(access log)并按日期分割
摘要:一,安装用到的库: 1,安装zap日志库: liuhongdi@ku:/data/liuhongdi/zaplog$ go get -u go.uber.org/zap 2,安装go-file-rotatelogs库 liuhongdi@ku:/data/liuhongdi/zaplog2$ go 阅读全文

posted @ 2021-01-22 11:08 ExplorerMan 阅读(814) 评论(0) 推荐(0)

go语言web开发系列之四:gin框架用viper读取配置文件数据
摘要:一,安装viper 1,viper的代码地址: https://github.com/spf13/viper 查看viper版本: https://github.com/spf13/viper/releases 2,安装: root@ku:~# go get -u github.com/spf13/ 阅读全文

posted @ 2021-01-22 11:06 ExplorerMan 阅读(728) 评论(0) 推荐(0)

go语言web开发系列之三:gin用go-playground/validator做参数的校验
摘要:一,演示项目的相关信息 1,项目地址: https://github.com/liuhongdi/digv03 2,功能说明:使用校验器(validator)实现对参数的校验 3,项目结构:如图: 说明:刘宏缔的go森林是一个专注golang的博客, 地址:https://blog.csdn.net 阅读全文

posted @ 2021-01-22 11:05 ExplorerMan 阅读(650) 评论(0) 推荐(0)

go语言web开发系列之二:gin框架接口站统一返回restful格式的数据
摘要:一,演示项目的相关信息: 1,项目地址: https://github.com/liuhongdi/digv02 2,功能:演示gin返回restful格式的数据, 包括异常时的404/500等情况 3,项目结构:如图: 二,sql代码说明 CREATE TABLE `article` ( `art 阅读全文

posted @ 2021-01-22 11:02 ExplorerMan 阅读(904) 评论(0) 推荐(0)

go语言web开发系列之一:gin+gorm开发一个简单的热榜接口站
摘要:一,热榜的例子: 以抽屉新热榜为例,只存储资讯的链接和提示, 用户点击时会跳转到外部的网站阅读 我们在这里只实现了显示单条内容和多条内容的功能, 主要是把它做为后续功能集成演示的一个基础 后续的集成包括: 统一报错信息 统一rest输出 validator 日志功能 安全 接口文档 统一读取配置文件 阅读全文

posted @ 2021-01-22 11:00 ExplorerMan 阅读(387) 评论(0) 推荐(0)

go:用zap和go-file-rotatelogs实现日志的记录和日志按时间分割
摘要:一,安装zap和go-file-rotatelogs两个库: 1,安装zap: liuhongdi@ku:/data/liuhongdi/zaplog$ go get -u go.uber.org/zap 2,安装go-file-rotatelogs liuhongdi@ku:/data/liuho 阅读全文

posted @ 2021-01-22 10:58 ExplorerMan 阅读(808) 评论(0) 推荐(0)

gin框架用go-redis+redsync实现分布式锁
摘要:一,安装需要用到的库 1,go-redis的地址: https://github.com/go-redis/redis 2,安装go-redis liuhongdi@ku:~$ go get -u github.com/go-redis/redis/v8 3,redsync的地址 https://g 阅读全文

posted @ 2021-01-22 10:53 ExplorerMan 阅读(1721) 评论(0) 推荐(0)

go深度拷贝json版
摘要:go中的深度拷贝方式 1.使用json的序列化和反序列化 通过将原来的结构序列化成byte数组,然后将byte数组反序列化到 目标结构的方式来进行深度拷贝。相关代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 2 阅读全文

posted @ 2021-01-18 14:06 ExplorerMan 阅读(235) 评论(0) 推荐(0)

go深度拷贝gob版
摘要:通过gob的序列化和反序列化进行深度拷贝 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 阅读全文

posted @ 2021-01-18 11:57 ExplorerMan 阅读(173) 评论(0) 推荐(0)

go深度拷贝reflect版
摘要:使用 reflecting 和 gob 两种方式,性能比较结果: Deep copy with reflecting is 10x faster than gob and it will save more memory. reflecting 使用库 https://github.com/moha 阅读全文

posted @ 2021-01-18 11:56 ExplorerMan 阅读(187) 评论(0) 推荐(0)

深入理解Go Context
摘要:目录 emptyCtx类型 cancelCtx类型 timerCtx类型 valueCtx类型 在Go语言并发编程中,用一个goroutine来处理一个任务,而它又会创建多个goroutine来负责不同子任务的场景非常常见。如下图 这些场景中,往往会需要在API边界之间以及过程之间传递截止时间、取消 阅读全文

posted @ 2021-01-18 11:24 ExplorerMan 阅读(186) 评论(0) 推荐(0)

golang可变长参数函数
摘要:支持可变长参数列表的函数可以支持任意个传入参数,比如fmt.Println函数就是一个支持可变长参数列表的函数。 package main import "fmt" // 这个函数可以传入任意数量的整型参数 func sum(nums ...int) { fmt.Print(nums, " ") t 阅读全文

posted @ 2021-01-11 15:59 ExplorerMan 阅读(468) 评论(0) 推荐(0)

[Golang] kafka集群搭建和golang版生产者和消费者
摘要:一、kafka集群搭建 至于kafka是什么我都不多做介绍了,网上写的已经非常详尽了。 (没安装java环境的需要先安装 yum -y install java-1.8.0-openjdk*) 1. 下载zookeeper https://zookeeper.apache.org/releases. 阅读全文

posted @ 2020-12-21 18:24 ExplorerMan 阅读(1178) 评论(0) 推荐(0)

上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 16 下一页

导航