go项目趟过的坑


1 环境变量 

goroot  参考文档:https://blog.csdn.net/fangkang7/article/details/104764507/

其实就是golang 的安装路径
当你安装好golang之后其实这个就已经有了

gopath

作用:

存放sdk以外的第三方类库
自己收藏的可复用的代码
目录结构:$GOPATH目录约定有三个子目录
3. src存放源代码(比如:.go .c .h .s等) 按照golang默认约定,go run,go install等命令的当前工作路径(即在此路径下执行上述命令)。
4. pkg编译时生成的中间文件(比如:.a)  golang编译包时
5. bin编译后生成的可执行文件(为了方便,可以把此目录加入到 P A T H 变 量 中 , 如 果 有 多 个 g o p a t h , 那 么 使 用 PATH 变量中,如果有多个gopath,那么使用PATH变量中,如果有多个gopath,那么使用{GOPATH/bin:}/bin添加所有的bin目录)

 go Modules

2 go.mod go.sum

 go.mod 参考文档:https://blog.csdn.net/spirit_8023/article/details/122226679

module flow

go 1.15

require (
    github.com/Gre-Z/common v0.0.0-20191024025434-2dbc6bd196f9
    gitlab.ecloud.com/ecloud-sdk v1.0.0
    go.uber.org/zap v1.18.1 // indirect
)

//replace gitlab.ecloud.com/ecloud-sdk => /opt/ecloud/ecloud-sdk
replace gitlab.ecloud.com/ecloud-sdk => ../ecloud-sdk

3 viper  配置管理神器

参考文档:https://www.liwenzhou.com/posts/Go/viper_tutorial/

Go