使用 gomonkey Mock 函数及方法示例详解

目录前言函数方法参考前言在 Golang 语言中,写单元测试的时候,不可避免的会涉及到对其他函数及方法的 Mock,即在假设其他函数及方法响应预期结果的同时,校验被测函数的响应是否...

GO项目配置与使用的方法步骤

目录一、Go版本以及GoLand版本二、环境配置三、GoLand项目创建这里的Go(SDK)、GoLand的安装就不多说了,网上自行下载,我们着重讲项目配置,import pkg时能够完美运行一、Go版本...

go中import包的大坑解决方案

目录方案一:使用GOROOT和GOPATH方案二:使用go.mod 最近开始使用Go/GoLand 在import 自定义包时出现各种状况,措手不及,大概在网上找了解决方法,几乎没说的清楚的(可能是我个人...

利用go语言实现Git 重命名远程分支  

目录问题描述反思出问题的原因代码层面解决问题从代码设计上优化从git操作上优化最终的办法是这样的git 重命名远程分支问题描述小A和我并行开发,他在优化之前的代码逻辑,我在...

Go error的使用方式详解

目录概述error使用方式1.直接判等2.组合error接口,构建更强大的error接口3.Errno模式4.Go1.13的Wrap模式5. Go版本低时的链式error概述当我们需要在Go项目中设计error,就不得...

Golang配置管理库 Viper的教程详解

目录一、Viper 是什么?二、安装 Viper三、Viper 有什么作用四、Viper demo 可供参考注意五、总结一、Viper 是什么?Viper 是应用程序的完整配置的管理工具,用于在应用程序中工...

Golang 统计字符串中数字字母数量的实现方法

目录1.需求说明2.实现2.1 ASCII 码值法2.2 正则表达式3.性能对比4.小结参考文献1.需求说明记录一下项目对用户 UGC 文本进行字数限制的具体实现。不同的产品,出于种种原因,一...

golang基于websocket通信tcp keepalive研究记录

目录为什么有tcp Keepalive?tcp Keepalive是否默认开启?如何设置tcp keepalive?在Linux内核设置golang websocket 客户端默认怎么处理tcp keepalive?golang websocket 服务器...

go语言中slice,map,channl底层原理

目录0. 前序1. slice1.1 slice的创建1.2 数据结构1.3 扩容机制2. map2.1 map创建2.2 数据结构2.3 扩容机制3. channl3.1 数据结构3.2 过程详解0. 前序slice,map,channl是我...

深入了解Go的interface{}底层原理实现

目录1. interface{}初探2. eface3. iface4. 接口转化1. interface{}初探Go是强类型语言,各个实例变量的类型信息正是存放在interface{}中的,Go中的反射也与其底层结构有关。if...

windows下使用GoLand生成proto文件的方法步骤

目录下载编译器protoc1、使用google官方protoc2、使用三方protoc,比如我使用的gogo的protoc设置环境变量编写proto文件将proto文件编译为pb.go文件下载编译器protoc两种方式:1...

goFrame的gqueue与channe的区别

目录channelgqueue概念优势底层实现阻止进程销毁总结channel首先明确一下channel的作用:用于go协程间的通信。go语言最大的特点就是支持高并发:goroutine和channel是支持高并...

详解Go语言中Get/Post请求测试

目录gin安装Get请求测试Post请求测试基础语法差不多了,需要开始实践到一下项目,先来web框架gin吧,做一个后端web服务。在把项目搭建起来的过程中,我也要结合实际的工作经验,补充...

Go slice切片make生成append追加copy复制示例

目录回顾加深理解生成切片 make更好的理解长度和容量切片引用类型实战切片的遍历append多次追加追加多个元素复制切片删除元素数组转切片实战演练总结回顾上一篇文章我们介...

Minio基本介绍及如何搭建Minio集群

目录一、Minio介绍1.1 Minio简介1.2 部署方式:1.3 Minio官网二、Minio集群2.1 Minio集群原理2.2 术语解释2.3 纠删码2.4 Minio集群搭建三、Nginx反向代理与负载均衡3.1 安装n...

2022-08-06

Golang并发读取文件数据并写入数据库的项目实践

目录需求项目结构获取data目录下的文件按行读取文本数据数据类型定义并发读取文件将数据写入数据库完整main.go代码测试运行需求最近接到一个任务,要把一批文件中的十几万条J...

Golang泛型与反射的应用详解

目录1. 泛型1.1 定义1.2 例子1.3 自定义泛型类型1.4 泛型与switch结合使用1.5 泛型实战2. 反射2.1 定义2.2 方法2.3 反射读取2.4 反射操作2.5 判断1. 泛型1.1 定义泛型生命...

源码解析gtoken替换jwt实现sso登录

目录jwt的问题jwt的请求流程图gtoken的优势注意问题演示demo分析源码刷新tokenGfToken结构体思考题总结jwt的问题首先说明一个jwt存在的问题,也就是要替换jwt的原因:jwt无法在...

2022-08-06

Go语言日志内聚复用及gjson踩坑记录分享

目录统一日志格式打印日志封装打印日志的方法内聚和复用gjson今天分享一下最近遇到的坑:以下代码示例使用GoFrame框架,下文简称为gf框架。统一日志格式我有个不好的习惯,不管是...

GoFrame框架ORM原生方法对象操作开箱体验

目录前言开箱体验1. ORM对象tips2. 数据写入3. 数据查询(单条)4. 数据查询(列表)5. 数据保存6. 批量操作tips7. 数据更新/删除tips总结前言最近一直在用GoFrame(下文简称gf)来...

Go语言学习之WaitGroup用法详解

目录前言小试牛刀总览底层实现结构体AddDoneWait易错点总结前言在前面的文章中,我们使用过 WaitGroup 进行任务编排,Go语言中的 WaitGroup 和 Java 中的 CyclicBarrier、Count...

GoFrame框架gcache的缓存控制淘汰策略实践示例

目录基本概念基本使用打印结果缓存控制打印结果缓存淘汰策略场景分析代码示例打印结果小技巧GetOrSetFunc的使用总结基本概念gcache模块默认提供的是一个高速的内存缓存,操作...

GoFrame代码优化gconv类型转换避免重复定义map

目录前言核心重点优化前优化后:可以这么写的原因进一步优化 批量写入更优雅的写法如下总结前言最近一直在研究 GoFrame 框架,经过一段时间的使用、总结、思考,发现确实不失为一...

Go调用Rust方法及外部函数接口前置

目录前言FFI 和 Binding准备 Rust 示例程序用 Cargo 创建项目准备 Rust 代码编译 Rust 代码准备 Go 代码编写 main.go编译代码总结前言近期 Rust 社区/团队有些变动,所以再一...

Go语言kafka生产消费消息实例搬砖

目录kafka go库注意例子kafka go库kafka go客户端官方目前没有提供,但在github有2个非常流行的库星星较多,网上案例也多 https://github.com/Shopify/saramaconfluent官网提供...

GoFrame通用类型变量gvar与interface基本使用对比

目录前言摘要通用变量 gvar使用场景看源码学编程如何设置并发安全开关呢?基本使用打印结果序列化示例打印结果总结前言摘要这篇文章将介绍 GoFrame 通用类型变量gvar的概念,对...

GoFrame框架garray并发安全数组使用开箱体验

目录前言普通数组AppendAtChunkClearClonePopLefts总结前言今天在搞一个需求,从三方获得有信息变更的商品,更新自己的数据库,再推送给下游进行商品更新。期间有更新商品数量不...

GoFrame ORM原生方法操作示例

目录前言常用方法SQL操作方法,返回原生的标准库sql对象数据表记录查询:数据单条操作数据修改/删除总结前言最近一直在用GoFrame(下文简称gf)来开发项目,在熟悉业务逻辑之后就是马...

使用Go构建一款静态分析工具Owl详解

目录介 绍原 理快速开始如何使用SDK方式其他介 绍Owl是一款开源项目依赖分析工具,可以快速在指定的项目目录下查找符合某些特征的源代码文件或者依赖文件。为何开发了这款工...

GoFrame框架gset使用对比PHP Java Redis优势

目录特点使用入门对比PHP和JavaPHPJAVAGO原生GoFrame延伸这篇文章将会为大家介绍GoFrame gset使用入门,为了让大家更好的理解,会简明扼要的分析一下集合类型Set的特点,对比一下...

GoFrame gredis配置文件及配置方法对比

目录前言摘要GoFrame gredis配置文件(推荐)使用示例:打印结果配置方法(高级)使用示例:总结前言摘要上一篇文章为大家介绍了 GoFrame gcache使用实践 | 缓存控制 淘汰策略 ,得到了大...

适合PHP同学的GoFrame框架使用体验及学习建议

目录前言官方介绍我的使用体验设计思想学习建议有基础的同学无基础的同学官网地址小坑前言今天继续为大家更新Go语言学习记录的文章,介绍最近发现的一款非常优秀的框架:GoFram...

GoFrame gredis缓存DoVar及Conn连接对象的自动序列化

目录前言GoFrame gredis整体介绍Do/DoVar方法小技巧基本使用HSET/HGETALL操作HMSET/HMGET操作Conn连接对象基本使用Send批量指令订阅/发布自动序列化/反序列化map存取打印结...

Go语言开发编程规范命令风格代码格式

前言今天这篇文章是站在巨人的肩膀上,汇总了目前主流的开发规范,同时结合Go语言的特点,以及自己的项目经验总结出来的:爆肝分享两千字Go编程规范。后续还会更新更多优雅的规范。...

GoFrame gtree树形结构的使用技巧示例

目录树形结构一图胜千言查询源码使用场景使用入门常用方法示例代码打印结果技巧树形结构树形结构gtree具有以下特点:支持排序,支持有序遍历内存占用低复杂度稳定适合大数据量...

GoFrame glist 基础使用和自定义遍历

目录基础概念基本使用打印结果glist链表遍历打印结果小技巧join序列化和反序列化总结基础概念GoFrame框架(下文简称gf)提供的数据类型,比如:字典gmap、数组garray、集合gset、...

Go GORM版本2.0新特性介绍

目录前言新版本的特性Context 支持批量插入预编译模式Joins 预加载Find to MapCreate From Map事务嵌套前言公元2021年3月30日,坊间流传PHP的git服务器被黑客攻入,因恶意代码...

GoFrame gmap遍历hashmap listmap treemap使用技巧

目录先说结论map类型使用技巧基础概念对比sync.Map基础使用合并 merge序列化过滤空值键值对反转 Flip出栈(随机出栈)总结文章比较硬核,爆肝2千多字,除了hashmap、listmap、treem...

GoFrame框架gset交差并补集使用实例

目录使用场景方法介绍Intersect: 交集Diff: 差集Union: 并集Complement: 补集举例总结上一篇文章:GoFrame gset使用入门 | 对比PHP、Java、Redis 得到了大家不错的反馈,今天继...

Go语言func匿名函数闭包示例详解

目录前言定义函数也可以作为函数的参数函数作为函数的返回值匿名函数闭包总结前言今天继续为大家更新Go语言学习记录的文章。函数是任何一门编程语言最重要的组成部分之一。...

使用Gorm操作Oracle数据库踩坑记录

目录下载依赖项目结构编辑go.mod将gorm降级定义model类型连接数据库 测试运行gorm是目前用得最多的go语言orm库,但是目前gorm官方并不支持oracle的驱动,需要用到第三驱动,最近...

Golang超全面讲解并发

目录1. goroutine1.1 定义1.2 goroutine切换点2. channel2.1 语法2.2 channel作为参数2.3 channel作为返回值2.4 chan关闭2.5 等待goroutine3. select4. 传统同步机制5. 并...

Go语言resty http包调用jenkins api实例

目录前言Resty特色演示例子简单get请求增强get请求灵活post请求多文件上传文件下载实战例子构造一个jenkins客户端获取jenkins job信息无参构建job查看构建日志job开关(启用...

goFrame的队列gqueue对比channel使用详解

目录channelgqueue概念使用场景:代码演示打印结果优势底层实现阻止进程销毁运行结果总结channel首先明确一下channel的作用:用于go协程间的通信。go语言最大的特点就是支持高...

GoFrame框架Scan类型转换实例

目录前言方法定义自动识别转换Struct结构体示例代码运行结果自动识别转换Struct数组示例代码运行结果自动识别转换Map示例代码运行结果自动识别转换Map数组示例代码运行结果...

GoFrame框架使用避坑指南和实践干货

目录gf gen dao设置参数可不传model作为结构体类型使用with关联取值而不是join不使用结构体批量添加数据主程序如下:gomeGoods.MainImgs的定义:插入数据gf gen dao生成dao层的...

GoFrame框架garray对比PHP的array优势

目录初识GoFramegarray特点简介基本使用数组出栈包含判断排序数组join、chunk、merge遍历遍历修改 walk函数序列化和反序列化总结写过PHP的同学都知道 PHP的数组Array非常好...

Go slice切片使用示例详解

目录定义定义并初始化长度和容量由数组得到切片更多切割方式举例切片的长度和容量切片再切片slice是引用类型总结定义切片区别于数组,是引用类型, 不是值类型。数组是固定长度...

GIN的路由以及传参问题

目录1.路由:2.传参当get传参的时候(url上显示的参数)当POST传参的时候(请求写入body)1.路由:func main() { r := gin.Default() r.GET("/ping/:name", func(c *gin.Context)...

2022-08-06

Golang详细讲解常用Http库及Gin框架的应用

目录1. Http标准库1.1 http客户端1.2 自定义请求头1.3 检查请求重定向1.4 http服务器性能分析2. JSON数据处理2.1 实体序列化2.2 处理字段为小写下划线2.3 省略空字段2.4 反...

返回顶部
顶部