go使⽤barcode库⽣成⼆维码扫描内容
导⼊barcode包复联四彩蛋
"github/boombuler/barcode"
"github/boombuler/barcode/qr"
使⽤barcode库⽣成⼆维码
func main() {
//定义⼆维码内容
qrcode, _ := qr.Encode("wwwblogs/hongyeci", qr.M, qr.Auto)
//设置⼆维码的宽⾼
qrcode, _ = barcode.Scale(qrcode, 256, 256)
//创建qrcode.png⽂件
file, _ := os.Create("qrcode2.png")
//关闭⽂件流--defer-延迟关闭资源
defer file.Close()
陈飞宇八卦//将⼆维码写⼊⽂件中岁月剧情介绍
if err := png.Encode(file, qrcode); err != nil {
fmt.Println("⽣成⼆维码失败")
} else {
fmt.Println("⽣成⼆维码成功")
叠衣服
}
}
这⾥复习⼀下defer关键字的主要⽤法:延迟执⾏,主要是关闭流时⽤到,在return之前执⾏,当有多个defer关键字时采⽤先进后出的⽅式执⾏;
使⽤qrcode库扫描⼆维码
导⼊qrcode包
"github/tuotoo/qrcode"
扫描⼆维码
func main()  {
//打开⼆维码⽂件qrcode.png
已完结的校园小说file,err:=os.Open("qrcode.png")
if err!=nil {
fmt.Println("error:",err.Error())
俄罗斯奥委会什么意思
return
}
/
/关闭⽂件流
defer file.Close()
//扫描⼆维码
qrmatrix, err := qrcode.Decode(file)
if err != nil {
fmt.Println(err.Error())
return
}
fmt.Println(qrmatrix.Content)
}