更新时间:2023-10-23 GMT+08:00

Go代码工程结构

当前不支持在线导入,需要将解压缩后的Go驱动源码包放在本地工程,驱动代码基于go mod管理,需要GO111MODULE设置成auto或者on,执行go build或者go run的时候,会解析并下载相关驱动依赖,当前华为内部可以设置GOPROXY为“GOPROXY=http://cmc.centralrepo.rnd.huawei.com/go,http://mirrors.tools.huawei.com/goproxy”。外部用户可以设置为 “GOPROXY=https://goproxy.io,direct”。

当前公司内存依赖仓在进行https改造,后续可以切换成“GOPROXY=https://cmc.centralrepo.rnd.huawei.com/go,https://mirrors.tools.huawei.com/goproxy”。

具体go mod开发工程如下:

-go

----pkg

----src

-------gitee.com

----------opengauss

-------------openGauss-connector-go-pq

-------Huawei_servicexx.com

----------xx_core_service

----------xx_other

----------go.mod

需要配置GOPATH=${go所在目录},go.mod里面需要添加一行:

replace gitee.com/opengauss/openGauss-connector-go-pq => ../gitee.com/opengauss/openGauss-connector-go-pq

表示代码里面所有的import “gitee.com/opengauss/openGauss-connector-go-pq”都是走本地路径, 同时依赖也不会去从代理里面下载。

如果不希望进行go mod工程的改造,需将GO111MODULE设置为off,并手动下载依赖包:xerrors和pbkdf2放在${GOPATH}目录下,与驱动根目录和业务代码保持同级。