基于Golang的Qrcode库生成二维码&Gin的入门使用指南
Gin入门与Golang 的 Qrcode 库的基本使用
文章目录
-
前言 一本篇文章内容简介 二.食用步骤 1.引入库 2.main 总结
前言
我们用到的环境:
1.Go:Go语言环境版本随意,但是得有,到它的官网下载安装配置即可,例如你可以点击下方链接进行这一步
2. git:相同的,版本任意,到它的官网下载安装配置即可,给出下方链接自取
一、本篇文章内容简介?
没什么好说的,小二儿,上代码!
二、使用步骤
1.引入库
首先我们先新建一个文件夹,再打开命令行cd到这个文件夹,在该文件夹下新建个main.go文件,然后执行下面命令
go mod init main.go
然后,我们在main.go加入下列内容:
package main import ( "github.com/gin-gonic/gin" "github.com/skip2/go-qrcode" )
此时import大抵是都有爆红的,没有关系,我们先继续
2.main
我们其实可以用下列命令down依赖:
go mod tidy
只要它自己生成的go.mod文件里有了对应依赖,它就不爆红,可以正常使用了
下面上正题
代码如下(示例):
func main() { //qr, err := qrcode.New("xxx",qrcode.Medium) //if err != nil { // fmt.Println(err) // return //} //f, err := os.Create("./qrcode.png") //if err != nil { // fmt.Println(err) // return //} //defer f.Close() //qr.Write(900, f) r := gin.Default() r.GET("/qrcode", func(c *gin.Context) { url := c.Query("url") if url == "" { c.JSON(400, gin.H{"status": 400, "msg": "url不能为空"}) return } qr, err := qrcode.New(url, qrcode.Medium) if err != nil { c.JSON(500, gin.H{"status": 500, "msg": "生成失败"}) return } c.Header("ContentType", "image/png") qr.Write(300, c.Writer) filename := fmt.Sprintf("./img/%s_%d.png", time.Now().Format("2006-01-02 03:04:05:06"), time.Now().UnixNano()) f, err := os.Create(filename) if err != nil { fmt.Println(err) return } defer f.Close() qr.Write(700, f) }) r.Run(":30012") }
这里前面的注释是我version1.0的,它可以实现根据某个信息,例如: "xxx" 生成二维码。
version2.0 maybe 需要点Web开发的基础就能看懂
最后,它还在main.go同级的img文件夹下生成以时间(精确到毫秒)+时间戳命名的.png二维码图片文件
总结
Java是世界上最好的语言.go