
Golang
go
彭世瑜
记录我的工作学习笔记
展开
-
golang:对struct排序的方法
golang对struct排序的方法以下代码示例,通过对Student 结构体的age字段进行从小到大和从大到小排序。原创 2024-06-17 11:15:10 · 723 阅读 · 0 评论 -
Golang:使用Blackfriday实现Markdown 转html
Blackfriday可以实现Markdown 转html。输入 index.md。原创 2024-06-09 10:19:37 · 519 阅读 · 0 评论 -
Golang:bytes 格式和解析数字字节值(10K、2M、3G等)
bytes 格式和解析数字字节值(10K、2M、3G等)原创 2024-06-07 09:50:51 · 499 阅读 · 0 评论 -
Golang面试官:聊一聊浅拷贝和深拷贝
深拷贝示例,使用内建函数。原创 2024-06-06 09:34:26 · 260 阅读 · 0 评论 -
Golang面试官:请你告诉我1-2=?
溢出后,刚好和最大值一样了。以下代码,使用了无符号。正确写法应该使用有符号。,做减法时会出现溢出。原创 2024-06-06 09:27:23 · 145 阅读 · 0 评论 -
面试官:Golang语言中的panic和recover有什么作用?
语句被输出了,说明子函数的异常被捕获了,没有向上传播,主函数可以正常执行。一句话:panic 和 recover 用于异常处理。使用panic抛出异常,程序发生异常,直接退出,panic和recover的用法,和。语法很类似,不过golang的语法是。以下通过几个示例,来说明他们的用法。子函数中自己捕获异常,不向上传播。使用recover获取异常。之后的语句没有得到执行。原创 2024-06-05 10:06:31 · 284 阅读 · 3 评论 -
Golang:go-redis支持Redis Server和Redis Cluster的客户端
多种客户端:支持单机Redis Server、Redis Cluster、Redis Sentinel、Redis分片服务器。功能完善:go-redis支持管道(pipeline)、事务、pub/sub、Lua脚本、mock、分布式锁等功能。数据类型:go-redis会根据不同的redis命令处理成指定的数据类型,不必进行繁琐的数据类型转换。go-redis是支持Redis Server和Redis Cluster的Golang客户端。原创 2024-06-04 09:25:29 · 461 阅读 · 0 评论 -
Golang:使用archive/zip实现文件压缩
是golang内置的模块,不需要额外安装。原创 2024-06-03 09:20:44 · 579 阅读 · 1 评论 -
Golang:使用go-nanoid生成随机的唯一ID
go-nanoid可以生成随机的唯一ID。运行3次,可以看到输出都是不一样的。原创 2024-05-31 18:27:04 · 758 阅读 · 0 评论 -
Golang获取文件名扩展名/后缀
标准库中的Ext函数来获取文件的扩展名(也就是后缀)。在Go语言中,可以使用。注意:扩展名带有前缀点。原创 2024-05-31 18:09:41 · 868 阅读 · 0 评论 -
Golang:使用embed引入静态文件
扩展:前后端分离的项目中,可以通过该方式,将前端的打包产物内嵌到golang的二进制打包产物中,一起发布。通过一个简单的小实例,来演示将静态文件引入到golang的二进制打包产物中。将打包产物拷贝到其他任意目录运行,也可以读取到静态文件内容。Go 语言从 1.16 版本开始引入了一个新的标准库。,可以在二进制文件中引入静态文件。hello.txt 文件内容。1、引入静态文件的内容到变量。2、引入整个目录内所有文件。原创 2024-05-31 10:21:55 · 732 阅读 · 0 评论 -
Golang:gin模板渲染base64图片出现#ZgotmplZ
gin模板渲染base64图片出现#ZgotmplZ。查看页面渲染结果,发现base64字符串没有显示完整。再次查看其渲染结果,发现base64字符串显示完整了。gin模板渲染base64图片。模板内容 index.html。修改字符串,指定其类型。原创 2024-05-30 11:33:28 · 553 阅读 · 0 评论 -
Golang:使用Base64Captcha生成数字字母验证码实现安全校验
Base64Captcha可以在服务端生成验证码,以base64的格式返回为了能看到生成的base64验证码图片,我们借助gin下面,通过一个小实例,来展示Base64Captcha的基本使用。原创 2024-05-30 11:13:57 · 1508 阅读 · 2 评论 -
Golang中的 defer 关键字和Python中的上下文管理with关键字
通过执行结果,可以看到:程序发生异常了,defer语句也是会执行的。我们在代码中加入一个除零操作,引发异常。defer,中文意思是:推迟。和Python中的上下文管理。Golang的文件读取操作。Python的文件读取。常用用于关闭文件操作。原创 2024-05-29 10:16:29 · 412 阅读 · 0 评论 -
Golang:使用bndr/gotabulate实现美观的打印表格数据
bndr/gotabulate 可以使用 Go 语言简单、美观的打印表格数据。原创 2024-05-28 09:59:36 · 421 阅读 · 0 评论 -
Golang:Sirupsen/logrus是一个日志库
Sirupsen/logrus是一个日志库。原创 2024-05-27 11:33:00 · 376 阅读 · 0 评论 -
Golang:gammazero/deque是一个快速环形缓冲区deque(双端队列)实现
gammazero/deque是一个快速环形缓冲区deque(双端队列)实现。原创 2024-05-26 13:44:45 · 459 阅读 · 0 评论 -
Golang:使用wellington/go-libsass对CSS进行预处理
wellington/go-libsass是一个用于预处理CSS文件的库,采用 Go封装,100% 与 Sass 兼容的 libsass 项目。不过需要依赖libsass,现在已经过时了,可以考虑使用dart-sass。输入 style.scss。输出 out.css。原创 2024-05-25 18:53:11 · 481 阅读 · 0 评论 -
Golang:使用go-resty/resty发送http请求get和post
简单的 HTTP 和 REST 客户端,受到 Ruby rest-client 的启发。2、发送POST请求。原创 2024-05-23 10:06:00 · 937 阅读 · 0 评论 -
Golang:使用jszwec/csvutil读取csv文件
jszwec/csvutil 高性能、惯用的CSV记录编码和解码到本机Go结构。要读取的文件 user.csv。原创 2024-05-22 10:04:23 · 581 阅读 · 0 评论 -
Golang:flosch/pongo2是一个类似Django模板语法的模板引擎
模板引擎可以用来做一些字符串渲染拼接工作,避免在代码中出现大量的字符串拼接。模板 example.html。原创 2024-05-21 13:57:30 · 564 阅读 · 0 评论 -
Golang:使用roylee0704/gron实现定时任务
可以使用roylee0704/gron实现定时任务。原创 2024-05-20 15:04:03 · 380 阅读 · 0 评论 -
Golang:使用bcrypt实现密码加密和和校验
由于算法的入参和出参都是字节类型的数据,为了便于使用,可以将两个方法简单封装成一个工具类,将入参和出参都改为是字符串类型的数据。bcrypt可以用于数据库中的用户密码保存,相比md5而言更加的安全可靠。bcrypt不能解密,不过可以比较加密后的数据和加密前的数据是否相匹配。可以看到,多次运行后,生成的结果是不一样的。原创 2024-05-19 21:34:01 · 612 阅读 · 0 评论 -
Golang:使用net/http实现一个简易的http服务器
可以看到,我们的服务端可以正确获取到请求的参数信息和json请求体,以及请求头部信息。注意:由于请求体只能读取一次,所以form和rawData只能取到一个。1、实现一个简易的服务端。的服务,返回请求的信息。原创 2024-05-18 16:33:36 · 450 阅读 · 0 评论 -
Golang:发起http请求-GET带参数、POST发送Form和JSON数据
通过构建 Request 对象,设置请求头属性import ("fmt""io""net/http"响应},参考:Go实现 简单http请求(get ,post) 多种请求方式。原创 2024-05-18 15:36:58 · 2554 阅读 · 0 评论 -
Golang:二进制数据的Base64编码和解码操作
Base64可以将二进制数据编码为文本数据,比如将二进制格式的图片编码为文本存储。前面的部分,是存储了二进制数据的格式,并非base64编码后的结果。这个文本格式可以在浏览器中直接打开。原创 2024-05-17 10:04:07 · 403 阅读 · 0 评论 -
Gone一个基于Golang的轻量级依赖注入框架
Gone首先是一个轻量的,基于Golang的,依赖注入框架,灵感来源于Java中的Spring Framework;其次,Gone框架中包含了一系列内置组件,通过这些组件提供一整套Web开发方案,提供服务配置、日志追踪、服务调用、数据库访问、消息中间件等微服务常用能力。下面使用Gone来编写一个Web服务吧!原创 2024-05-16 15:48:01 · 356 阅读 · 0 评论 -
Golang:文件读写操作WriteFile、ReadFile和0644权限
【代码】Golang:文件读写操作WriteFile、ReadFile和0644权限。原创 2024-04-26 10:09:08 · 951 阅读 · 0 评论 -
Golang:GORM使用First查询日志中出现大量record not found
感觉是作者故意留下的坑吧,用了很多编程语言的orm实现,第一次发现这个问题。实现忽略数据不存在的日志。原创 2024-04-18 14:03:42 · 1035 阅读 · 0 评论 -
Golang:chan实现生产者和消费者
【代码】Golang:chan实现生产者和消费者。原创 2024-04-17 17:16:29 · 201 阅读 · 0 评论 -
Golang:字符串正则匹配的简单使用
【代码】Golang:字符串正则匹配的简单使用。原创 2024-04-17 17:15:54 · 393 阅读 · 0 评论 -
Golang:三种引号详解-单引号、双引号、反引号
反引号(``),类似Python的三引号,可以折行的字符串,所有转义字符将被忽略。),单个字符,更类似于C语言中的char类型,) ,字符串,单行的,多个字符(字母数字)。原创 2024-04-17 16:40:56 · 829 阅读 · 0 评论 -
Golang:使用air实现gin应用的live reload热重载
尝试修改文件,等待片刻后,刷新页面,就会发现页面内容已经更新了。热重载 Go 应用的工具。原创 2022-10-28 10:38:39 · 1316 阅读 · 0 评论 -
Golang:grequests库-一个类似Requests的http客户端
【代码】Golang:grequests库-一个类似Requests的http客户端。原创 2023-03-21 09:50:15 · 472 阅读 · 0 评论 -
PHP/Python/js/Golang/Java:时间转为人类可读的字符串格式:刚刚、几分钟前、几小时前、几天前
为了更精确,本例采用 方式2:按照时间戳毫秒之差 的思路实现。1、按照天、时、分逐个比较:不看时分秒,就是。2、按照时间戳毫秒之差:要看时分秒,就是。原创 2022-10-10 14:03:58 · 860 阅读 · 0 评论 -
Golang:user_agent解析HTTP用户代理User Agents
译文:UserAgent是解析HTTP用户代理的Go语言库。原创 2022-11-16 09:40:49 · 2323 阅读 · 1 评论 -
Golang:testing单元测试的使用示例
Go 语言推荐 测试文件 和 源代码文件 放在一块命名规范*_test.goTest*原创 2022-10-27 18:11:13 · 770 阅读 · 0 评论 -
Golang:robfig/cron执行定时任务
译文:go的cron库。原创 2022-10-21 16:25:21 · 1062 阅读 · 0 评论 -
Golang:pongo2类似Django的模板引擎
译文:pongo2是一种类似于Django语法的模板语言(官方网站)。模板 example.html。示例1: 渲染字符串。原创 2022-10-21 15:48:44 · 1242 阅读 · 0 评论 -
Golang:gin-gonic/gin一个用 Go (Golang) 编写的 HTTP Web 框架
Gin 是一个用 Go (Golang) 编写的 HTTP Web 框架。它具有类似 Martini 的 API,但性能比 Martini 快 40 倍。代码示例 main.go。原创 2022-10-21 11:38:51 · 768 阅读 · 0 评论