Go语言可用skip2/go-qrcode库命令行生成二维码:支持中文、纠错等级、自定义尺寸/颜色/透明背景,WriteFile保存PNG/JPEG,WriteColorFile支持前景色与透明底,适合批量生成。
用 Go 语言生成并保存二维码图片,核心是借助成熟的第三方库(如 q),几行代码就能完成——无需图形界面,纯命令行即可输出 PNG 或 JPEG 文件。
rcode
推荐使用轻量、稳定、支持中文的 github.com/skip2/go-qrcode:
以下代码生成内容为 "Hello, 世界" 的二维码,保存为 qrcode.png:
package main
import (
"log"
"github.com/skip2/go-qrcode"
)
func main() {
err := qrcode.WriteFile("Hello, 世界", qrcode.Medium, 256, "qrcode.png")
if err != nil {
log.Fatal(err)
}
}
qrcode.Medium 表示纠错等级(中等,约15%容错);可选 Low/High/Quartile
256 是输出图片宽高(像素),正方形尺寸,最小建议 256 起以保证清晰度"qrcode.png" 支持 .png 和 .jpg 后缀,自动识别格式若需修改前景色(二维码模块)或背景色,可用 qrcode.WriteColorFile:
import "image/color"
err := qrcode.WriteColorFile(
"https://golang.org",
qrcode.Medium,
300,
&color.RGBA{0, 128, 255, 255}, // 前景色:蓝色
&color.RGBA{255, 255, 255, 0}, // 背景色:完全透明(alpha=0)
"custom_qr.png",
)
&color.RGBA{255,255,255,0} 可得透明底 PNG(注意仅 PNG 支持透明)WriteFile 会返回 permission denied
实际应用中常需按内容生成多个二维码,例如从 CSV 或命令行参数读取:
flag 包接收输入:go run main.go -text "user-123" -output "user123.png"
url.PathEscape)