跳到正文
柠檬鱼博客

Golang

Golang 开发

Go - 如何使用 Resty

Golang

介绍 RESTful API已成为现代Web开发的基石,实现了客户端和服务器之间的无缝通信。在本文中,我们将探索使用Resty这个流行的HTTP客户端库在Go中执行常见操作,如GET、POST、UPDATE和DELETE请求的强大和简单性。我们还将学习如何在请求中传递头部,以便自定义和增强我们的AP…

使用 gg 库实现文本生成

Golang

需求 需要实现一个文本生成器,可以接受以下参数: 文本内容 字体路径 背景图片路径 字体大小 生成的文本需要以背景图片为底,将文本按照指定字体、大小进行绘制。 实现 为了实现上述需求,我使用了go语言中的gg库。gg库是一个轻量级的2D绘图库,提供了简单易用的API,可以方便地进行图形绘制。 具体实…

【设计模式】策略模式实现简单商品打折功能

Golang

需求 作为电子商务网站拥有者,提供产品折扣来吸引和留住客户非常重要。在本博客文章中,我们将探讨如何使用Go语言中的策略模式实现商品的简单打折功能。 实现 策略模式需要先定义一个打折的抽象接口,每一种打折算法都要实现该接口,打折方式分别是正常收费、打折收费和返利收费: package cash // …

【设计模式】使用 go 语言实现简单工厂模式

Golang

最近在看《大话设计模式》,这本书通过对话形式讲解设计模式的使用场景,有兴趣的可以去看一下。 第一篇讲的是简单工厂模式,要求输入两个数和运算符号,得到运行结果。 这个需求不难,难就难在类要怎么设计,才能达到可复用、维护性强、可拓展和灵活性高。 运算符可能是加、减、乘、除,未了方便以后可以拓展其它运算符…

用 Go 的范型实现 MongoDB 的 CRUD 操作

Golang

MongoDB是一个非常强大的数据库,它提供了一个非常简单的接口,可以让我们在Go中使用它。 前几天用gin+gorm实现一个小功能,根据操作的方法,发现很容易实现通用的CRUD操作。 比如批量查询数据时,可以定义一个interface或具体结构体去绑定结果集: # 返回值也可以定义为interfa…

gin + grom 实现分页功能

Golang

项目介绍 使用gin + gorm实现分页,按一般的mvc架构思想去划分目录,良好的编码习惯是用Dao层去查询数据库,Server层去实现业务逻辑(此案例业务逻辑简单所以没有封装)。 第三方库 gin gorm以及对应的mysql驱动包 目录结构 ├── README.md ├── config │…

Go + Vercel 实现简易每日早报

Golang

经常可以看到 每日60s读懂世界 就尝试用go实现, 另外对于Vercel的一键部署工具挺感兴趣的。 Vercel既可以用来做测试环境,也可以做生产环境,本质上是一个使用HTTP触发事件的Serverless应用, 项目在github上,想学习的可以去参考一下。 Vercel可以直接运行html文件…

golang 并发编程

Golang

CPU基本概念 要了解golang的并发编程,需要先简单了解cpu是什么? cpu是计算机的“大脑”,不仅能实现基本算术运算,还能通过总线控制和协调电子配件的输入和输出。我们编写的程序代码,比如打印语句,最终是由cpu从内存中取得指令、解码、执行。cpu执行指令速度非常快,通常执行一条指令只需要零点…

简单用 golang 做并发爬虫

Golang

对于没有接触过swoole的PHP开发者,可能对于并发编程或异步编程比较陌生。并发编程就是在短时间内完成多个任务,以往我们都是一个任务完成后,再完成下一个任务。比如接下来采集的网站,我是分几个小模块进行处理,首先先采集章节的链接,然后在根据章节的链接获取内容,最后再把获取到的内容写到文件里。 安装依…