spannerlib优雅的go异常处理

蹩脚的go 异常处理一般写go的人,如果他不是写算法,正常写业务代码的话,可能都会为优雅的异常处理而烦恼,因为脑子抽筋的go设计者们,总是感觉语法糖是一种很低级的东西。但是在我...

Go 单元测试之mock接口测试

div class="toc">目录 一、gomock 工具介绍 二、安装 三、使用 3.1 指定三个参数 3.2 使用命令为接口生成 mock 实现 3.3 使用make 命令封装处理mock 四、接...

golang开发 深入理解 context

context的历史context包在Go 1.7版本正式加入Go标准库。在加入之前我们看看Go团队核心成员Sameer Ajmani在2014年发表的一篇关于context介绍博客,地址:https://go.dev/blog/co...

Go 单元测试基本介绍

目录 引入 一、单元测试基本介绍 1.1 什么是单元测试? 1.2 如何写好单元测试 1.3 单元测试的优点 1.4 单元测试的设计原则 二、Go语言测试 2.1 Go单元测试概要 2.2...

Golang函数的劣势在函数式编程中的限制?

go中函数的劣势:不支持一等函数,无法将函数作为参数或返回值传递。缺乏惰性求值,无法推迟表达式的求值。限制了函数组合,使得在go中编写某些函数式编程模式更加困难。Go 函数的...

Golang函数如何优化性能?

优化 go 函数性能的方法包括:减少分配:通过使用堆栈变量或预分配循环变量来减少内存分配。内联化函数:对于小函数,通过内联化消除函数调用的开销。优化循环:取消范围检查、提前分...

Go 项目依赖注入wire工具最佳实践介绍与使用

目录 一、引入 二、控制反转与依赖注入 三、为什么需要依赖注入工具 3.1 示例 3.2 依赖注入写法与非依赖注入写法 四、wire 工具介绍与安装 4.1 wire 基本介绍 4.2...

从零封装Gin框架配置初始化全局变量

目录引言安装编写配置文件编写配置结构体全局变量使用 viper 载入配置初始化配置引言配置文件是每个项目必不可少的部分,用来保存应用基本数据、数据库配置等信息,避免要修改...

Go语言Gin框架获取请求参数的两种方式

目录引言传递参数的方式HeaderURLHTTP Body直接获取请求参数获取URL Path中的参数获取URL Query中的参数获取HTTP Body中的参数绑定请求参数绑定Header参数绑定URL Path参数...

go mod 依赖管理的具体使用

目录go mod 介绍mod 相关环境变量如何使用 go modgo.mod 文件go mod 命令go.mod 文件go get 升级go.sum不同模式的命令区别1. gopath模式2. go vendor模式2. go module模式...

Go语言实现对称加密和非对称加密的示例代码

目录1、对称加密1.1 AES1.2 DES1.3 3DES2、非对称加密算法RSA2.1 生成密钥对2.2 RSA加密解密过程2.3 数字签名验证对称加密和非对称加密的区别主要有以下几个方面:1、密钥的...

go grpc高级用法

目录错误处理常规用法进阶用法原理多路复用元数据负载均衡压缩数据错误处理gRPC 一般不在 message 中定义错误。毕竟每个 gRPC 服务本身就带一个 error 的返回值,这是用来传...

Go语言断言和类型查询的实现

目录1、类型断言2、类型查询1、类型断言类型断言(Type Assertion)是一个使用在接口值上的操作,用于检查接口类型变量所持有的值是否实现了期望的接口或者具体的类型。在Go语...

Go Gin框架优雅重启和停止实现方法示例

目录什么是优雅重启和停止Go gin的优雅重启和停止使用系统信号进行优雅重启使用HTTP请求进行优雅停止优雅地处理超时总结什么是优雅重启和停止优雅地重启或停止一个Web服务...

从零封装Gin框架及项目初始化教程

目录引言适用人群目录结构初始化项目启动应用 & 测试结语引言我是一名 phper,由于各方面因素,决定转战 Go,PHP 基本都是用来开发 Web 项目的,所以这次就使用 Go 中最流行的 Web...

Go分布式链路追踪实战探索

目录什么是链路追踪?Tracing&Logging&Metrics三者关系Go链路追踪的实践链路追踪的示例链路追踪的深入理解总结什么是链路追踪?在现代复杂的分布式系统环境中,对应用或系统进行...

go通过编码缩短字符串的长度实现方法步骤

目录如何在Go中实现进制转换步骤1:将十进制字符串转换为十六进制字符串步骤2:### 十六进制到十进制的转换分析与实践结论如何在Go中实现进制转换在开发中,我们经常遇到需要处理...

分布式架构在Go语言网站的应用

目录构建分布式架构负载均衡缓存技术数据分片并发编程结论分布式架构是目前应对高流量、高并发的重要解决方案。分布式架构的核心思想是分而治之,将单台服务器的资源划分为多...

使用go语言将单反斜杠改为双反斜杠的方法

问题最近开发的时候遇到这么个问题,就是在window上获取了文件目录的字段,然后将这个绝对路径保存到数据库,最后前端需要请求的时候,就需要读取数据库存的文件目录路径给前端,前端...

深入理解Golang中的dig包管理和解决依赖关系

目录1. 引言2. dig库的介绍2.1 结构体2.2 基本工作流程3. 如何使用dig包3.1 安装dig包3.2 创建容器3.3 注册依赖关系3.4 解析依赖关系4. 应用场景4.1 Web应用程序4.2 单元测...

Golang中errgroup的常见误用详解

目录多余的context嵌套Wait返回的时机SetLimit和死锁总结errgroup想必稍有经验的golang程序员都应该听说过,实际项目中用过的也应该不在少数。它和sync.WaitGroup类似,都可以...

Go语言实现逐行读取和写入文件详解

目录前言tb_param表的结构Go语言实现代码前言前面一篇博客讲到nodejs使用readline逐行读取和写入文件今天使用go语言实现从输入文件中读取每行数据,然后将每行字段组合成SQL...

Go语言Gin框架实现HTML页面渲染

目录Gin框架简介HTML渲染基础模板语法加载模板嵌套模板结语Gin框架简介Gin是一款基于Go语言开发的Web框架,它相较于其他Go web框架最大的优点就是高性能且API简单易用。Gin...

Go Web开发之Gin多服务配置及优雅关闭平滑重启实现方法

目录如何自定义Gin服务配置及其启动多个服务?如何优雅的关闭或者重启Gin应用程序?1.使用 chan 通道监听中断信号(SIGINT和SIGTERM)2.使用 os/exec 包来执行Gin平滑重启3.使用...

从零封装Gin框架实现数据库初始化GORM

目录前言安装定义配置项自定义 Logger(使用文件记录日志)初始化数据库编写模型文件进行数据库迁移定义全局变量 DB测试前言许多框架都会引入 ORM 模型来表示模型类和数据库表...

返回顶部
顶部