当前位置: 首页 > news >正文

Go选手如何快速上手第三方库

作为Java选手,第三方库是避免不了的,作为golang萌新,面对golang的陌生的接口写法,如何快速上手?

本期以 "github.com/mojocn/base64Captcha"这个生成验证码的库入局

我们快速定位到我们要用的方法,生成验证码的类

理所当然是 NewCaptcha 方法,可以看到需要定义的结构体

type Captcha struct {Driver DriverStore  Store
}

我们继续查看Driver和Store结构体

先来说Driver,可以看到是个接口类型,而且源码中有多个实现

第一个参数是验证码的驱动形式,可以看到有多种验证码,中文、数字、英语、数字等,我们使用最简单的数字驱动

使用该结构体提供的方法,new出一个驱动即可完成第一个参数

	// 创建数字验证码的驱动driver := base64Captcha.NewDriverDigit(global.Config.Captcha.Height,global.Config.Captcha.Width,global.Config.Captcha.Length,global.Config.Captcha.MaxSkew,global.Config.Captcha.DotCount,)

第二个参数是接收验证码的对象,依然是个接口类型

我们寻找该接口的具体实现类,可以找到 memoryStore 结构体

我们继续寻找该结构体的new方法在何处被调用

发现有一个default方法中调用了该结构体的new方法,我们点进去

于是我们如愿以偿的找到了一个Store的默认实现,被定义在全局变量中,我们就可以使用该全局变量啦

http://www.dtcms.com/a/326532.html

相关文章:

  • 机器视觉的PCB板对位印刷加工应用
  • python—day1
  • U-Boot常用命令完全指南
  • 线程的同步与互斥
  • 基于深度学习的异常检测算法在时间序列数据中的应用
  • QT QProcess + xcopy 实现文件拷贝
  • AcWing 6479. 点格棋
  • 数据结构-排序(2)
  • 嵌入式 - Linux软件编程:标准IO
  • 文件夹生成器,一键批量生成,效率提升!
  • 1.Apollo Planning 模块总结
  • 一键生成AI视频!Spring Cloud微服务架构的AgentAlVideo平台开源啦!
  • 内存问题排查工具ASan初探
  • 【liunx】web高可用---nginx
  • AR 智能眼镜:从入门到未来
  • DDIA第五章:复制
  • PCB批量线路板厂家有哪些?
  • LAMPLNMP 最佳实践
  • Ubuntu 22.04 离线环境下 Python 包与 FFmpeg 安装全攻略​
  • 嵌入式Linnux学习 -- 软件编程2
  • linux下部署 dify,并配置本地ollama大模型
  • 【排序算法】⑤冒泡排序
  • Java学习 -- 可变参数与Collections工具类
  • docker安装Engine stopped
  • AI自动生成接口测试脚本全流程
  • 当AI重塑世界:普通人如何成为“主动进化者”?
  • 在 .NET Core 5.0 中启用 Gzip 压缩 Response
  • ECCV 2024 论文解读丨具身智能、机器人研究最新突破创先点分享合集
  • MCU中的存储器映射(Memory Map)
  • 登录系统英文使用 Sign In?Log In?还是 Log On?