以下是Ubuntu下Golang打包的常见误区及解决方案:
CGO_ENABLED=0
。GOOS
/GOARCH
,生成与目标平台不兼容的二进制文件。
GOOS=linux GOARCH=amd64
。chmod +x
添加执行权限。go mod init
)并运行go mod tidy
。float64
,可能导致精度丢失。
json.Marshaler/Unmarshaler
接口。[]byte
修改后再转回。defer
外调用recover
,无法捕获panic。
defer
函数中使用recover
。