记录一个go build 构建的问题
main.go 文件
package main
import (
"github.com/valyala/fasthttp"
"go.uber.org/zap"
)
var logger *zap.Logger
func init() {
logger, _ = zap.NewProduction()
}
func fastHTTPHandler(ctx *fasthttp.RequestCtx) {
logger.Info("hell, go module", zap.ByteString("uri", ctx.RequestURI()))
}
func main() {
fasthttp.ListenAndServe(":8081", fastHTTPHandler)
}
脚本功能是监听8081端口访问,打印访问的头信息日志
执行go build 构建 报错
main.go:5:2: //go:build comment without // +build comment
排查了代码应该是没有问题,必应网站查询问题原因,可能是go 的版本 是低于1.17版本 导致出现的问题,go 引入的依赖库包中 1.17版本后 引入了新的构建标记语法导致的兼容问题
查看当前使用的go版本
##的确是低于 1.17 版本
PS D:codergotestprojectshellomodule> go version
go version go1.16.5 windows/amd64
###安装go1.17.13 版本
PS D:codergotestprojectshellomodule> go version
go version go1.17.13 windows/amd64
### 重新执行go build 命令执行成功
查询解决问题参考链接
https://github.com/bitfield/script/issues/131
https://it-explain.com/go-golang-build-error-gobuild-comment-without-build-comment/