Golang使用crypto/ed25519实现数字签名和验证

目录引言crypto/ed25519 算法简介环境搭建和准备工作生成密钥对进行数字签名验证签名实际应用场景案例总结引言在当今数字化时代,网络安全显得尤为重要。无论是在网上进行交...

Golang Fasthttp选择使用slice而非map 存储请求数据原理探索

目录引言Slice vs Map:基本概念内存分配和性能Fasthttp 中的 SliceMap性能优化的深层原因存储数据特性CPU 预加载特性结论引言Fasthttp 是一个高性能的 Golang HTTP 框架,它在...

利用golang实现pdf中自动换行的表格

目录实现自动换行的表格创建页面、指定字体其他常用写入方法需要用到的库:jung-kurt/gofpdf由于CellFormat方法不支持\n换行,会被变成乱码,MultiCell方法会自动将坐标定位到下...

深入探究Go语言的错误策略与异常机制

目录前言Go错误处理策略创建error的几种方式errors包fmt包自定义错误类型如何处理错误直接返回错误记录日志并继续运行记录日志并结束运行Go异常处理机制panic函数recover函...

golang sudog指的是什么

sudog代表在等待队列中的goroutine,比如channel发送接受。由于goroutine和同步对象的关系是多对多,因此需要sudog映射type sudog struct { // 指向的goroutine g *g // 指向...

Go引用github包的详细流程步骤

目录Linux上如何引用如果定义了环境变量进入正题①、创建引用目录②、拷贝源码③、引用Windows上如何引用原理上和linux系统引用相似如果没定义GoPathLinux上如何引用如果定...

go语言实现LRU缓存的示例代码

目录简单了解 LRU 是什么LRU 机制实现分析题目描述详细代码缓存是在平时开发中最常用的中间件之一,尤其是在 WEB 开发中更为常见,大家最常用的肯定还是 Redis 或者 Memcached...

go原子级内存操作实现

原子级内存操作是在多线程并发执行时,能够确保某个内存操作是不可中断的操作。在计算机系统中,CPU执行指令是基本的原子操作,即一个指令的执行是不可被中断的。然而,在多线程并...

提高golang源码阅读效率的六个高级技巧

目录引言第一个:在大型项目中游刃有余的行走使用快捷键:alt+Home第二个:在已经打开的多个文件之间来回穿梭使用快捷键:alt+left/right left 表示左箭头,right 表示右箭头第三个:远...

使用golang在windows上设置全局快捷键的操作

目录hotkey热键1.需求2.使用包3.开发文档4.具体实现5.fyne结合hotkey 开发一个辅助工具hotkey热键1.需求最近在工作中,总是重复的做事,想着自己设置一个快捷键实现windows 剪...

Go基于struct tag实现结构体字段级别的访问控制

目录struct tag 是什么?具体有什么用呢?常见使用场景JSON/XML 序列反序列化数据库操作数据验证tag 行为自定义案例:结构体字段访问控制定义结构体实现权限控制使用演示总结stru...

Go语言中实现enum枚举的方法详解

目录使用 iota 和常量支持字符串转化的枚举值结构体枚举值结构体类似命名空间效果类型安全真实场景总结你是否了解过 Go 中的枚举呢?枚举,即 enum,可用于表示一组范围固定的值,...

Golang使用Gin实现文件上传的示例代码

目录前言使用原生net/http库实现文件上传使用Gin实现文件上传单个文件上传FormFile()获取文件SaveUploadedFile()保存到本地 设置缓冲区大小限制文件大小限制文件类型完整示...

一文带你探索Go语言中crypto/md5标准库的强大功能

目录引言Go语言和MD5的基础知识MD5算法简介Go语言概述Go中的MD5实现crypto/md5 库的使用方法基本用法处理大型数据安全注意事项实际案例分析示例1:文件的MD5校验示例2:网络数...

如何在golang中检查文件是否存在

目录os.Stat 检查文件状态与 C 对比Go1.13 以及之后推荐使用 errors.Is直接使用 Open 避免竞态条件open 是原子操作结论Go 中如何检查文件是否存在呢?如果你用的是 Python,可...

Golang Gin框架获取请求参数的几种常见方式

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

Go操作各大消息队列教程(RabbitMQ、Kafka)

目录1 RabbitMQ1.1 概念①基本名词②常见模式1.2 搭建(docker方式)①拉取镜像②创建并启动容器③web界面创建用户和virtual host1.3 代码操作①RabbitMQ struct:包含创建、消费...

更换GORM默认SQLite驱动出现的问题解决分析

目录GORM简介安装快速开始GORM使用更换第三方SQLite驱动解决问题解决方案:更换GORM默认的SQLite驱动代价GORM简介GORM 是 Go 语言中最受欢迎的 ORM 库之一,它提供了强大的功能...

Go语言实现可选参数的方法小结

目录方法1:可变长参数(Variadic Args)方法2:使用Map方法3:使用结构体(Structs)方法4:函数选项模式(Functional Options Pattern)总结我们编程时,常会遇到:一个函数在大多数情况下只需要...

一文掌握gorm简介及如何使用gorm

目录gorm简介什么是gorm?gorm的特点如何使用gorm?总结gorm简介什么是gorm?gorm是一个强大的Go编程语言中的ORM(对象关系映射)库。ORM是一种技术,它将数据库表中的数据映射到面向对...

一文了解Go语言的并发特性

目录Goroutines: 轻量级线程Channels: 数据的并发安全传递Select: 多路复用实例:使用Go并发特性实现一个简单的并发模型总结补:go语言高并发特性应用场景应用示例代码Go语言自...

Golang使用pprof检查内存泄漏的全过程

目录前言测试代码发送请求分析内存查看内存分配比较内存分配查看启动以来的内存分配前言pprof 是golang提供的一款分析工具,可以分析CPU,内存的使用情况,本篇文章关注它在分析...

golang压缩与解压缩文件的示例代码

目录压缩核心处理解压缩压缩入口压缩函数useBasePathInZip参数:为 false 相当于全文件视图,zip中没有目录
为 true表示保留源文件的路径(srcPaths如果是相对路径,则压缩后zip文...

Go语言实现lru淘汰策略和超时过期

目录lru淘汰策略超时淘汰代码实现实例化缓存添加数据删除缓存获取缓存定期删除测试lru淘汰策略缓存的大小是有限的,当添加数据发现剩余缓存不够时,需要淘汰缓存中的部分数据。...

使用Go语言实现心跳机制

目录Go 实现心跳心跳程序Go 实现心跳心跳最典型的应用场景是是探测服务是否存活,比如在 Zookeeper 中,会使用心跳探测服务是否存货,如果服务已经死亡,会将服务从注册表中删除,避...

返回顶部
顶部