基于Golang的Qrcode库生成二维码&Gin的入门使用指南

Gin入门与Golang 的 Qrcode 库的基本使用

文章目录

    前言 一本篇文章内容简介 二.食用步骤 1.引入库 2.main 总结
文章目录 前言 一本篇文章内容简介 二.食用步骤 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

经验分享 程序员 微信小程序 职场和发展