看语法看到看不下去,前半句话里的3个“看”字暴露了博主词汇的贫乏。就想着利用go语言实现一个小项目来练习一下实际操作,首先是新建一个文件夹,然后在powershell里进入该文件夹,首先生成mod文件:
go mod init goBarCode一波三折下载库文件
接下来安装库,本来是一行语句搞定的事:
go get github.com/boombuler/barcode然而国内下载github文件并没有那么方便,所以有时候遇到网络连接失败的时候,我们需要更换成国内代理
go env -w GOPROXY=https://goproxy.cn更换之后可以用以下命令查看:
//查看
go env GOPROXY
//取消修改用如下命令
go env -u GOPROXY默认地址是https://proxy.golang.org,direct,修改成功后会变为https://goproxy.cn,现在重新尝试用get命令获取我们需要的库,就可以成功下载了。命令运行成功后会发现,文件夹里多个一个go.sum文件,该文件是 Go 模块系统自动生成的依赖锁定文件,所以请允许它继续呆在那里。
生成main主文件
单独一个小标题以示尊重~
ni main.go -type file开始尝试实例
下面这个案例会生成一张png图片,但博主更希望直接生成svg;
package main
import (
"image/png"
"os"
"github.com/boombuler/barcode"
"github.com/boombuler/barcode/code128"
)
func main() {
// 1. 创建 Code 128 条形码(返回 BarcodeIntCS 类型)
code128Code, err := code128.Encode("1234567890")
if err != nil {
panic(err)
}
// 2. 缩放条形码(返回 Barcode 类型)
scaledCode, err := barcode.Scale(code128Code, 300, 80)
if err != nil {
panic(err)
}
// 3. 保存为 PNG 文件
file, err := os.Create("code128.png")
if err != nil {
panic(err)
}
defer file.Close()
err = png.Encode(file, scaledCode)
if err != nil {
panic(err)
}
println("Code 128 条形码生成成功:code128.png")
}尝试换个库,首先删除main文件里的所有内容并保存,然后运行如下命令清理过时的依赖:
go mod tidysvg条码库
重新下在依赖:
go get github.com/juliankoehn/barcode测试功能代码:
package main
import (
"os"
"github.com/juliankoehn/barcode"
)
func main() {
// 直接生成 SVG 字符串
svgString := barcode.GetBarcodeSVG(
"1234567890", // 内容
"C128", // 类型 (如 C128, EAN13, QR)
10, // 宽度
100, // 高度
"#000000", // 颜色
true, // 是否在下方显示数字
true, // 是否内联 (去掉 XML 头)
)
// 写入文件
os.WriteFile("barcode.svg", []byte(svgString), 0644)
}程序生成了一个条码,利用微信扫码后获取的信息为:1234567890,完美闭环了。

