.
├── conf
│ ├── dev.ini
│ └── prod.ini
├── controller
│ ├── dir.go
│ ├── go.mod
│ └── go.sum
├── docs
├── go.mod
├── go.sum
├── main.go
├── pkg
│ ├── config
│ │ ├── config.go
│ │ ├── go.mod
│ │ └── go.sum
│ ├── ecode
│ │ ├── code.go
│ │ ├── ecode.go
│ │ ├── go.mod
│ │ └── msg.go
│ ├── os
│ │ ├── go.mod
│ │ └── path.go
│ └── response
│ ├── go.mod
│ ├── go.sum
│ └── response.go
├── routers
│ ├── go.mod
│ ├── go.sum
│ └── routers.go
一个测试项目的目录,有一些问题想要请教一下:
controller/dir.go
中引入example.com/os
,那么在controller/go.mod
中需要指明replace example.com/os => ../pkg/os
,相应的如果该项目的很多包就需要 replace 多次。1
,现在在main.go
中引入example.com/controller
包,则在go.mod
不仅仅需要replace example.com/controller => ./controller
,还需要replace example.com/os => ./pkg/os
,一旦controller
引入了多个,在此也需要引入多个包,感觉很麻烦,总感觉自己的姿势不对,但是查阅了资料除了将项目移到$GOPATH/src/
或者使用$GOPATH
以外,只能将代码上传到类似github.com
的仓库上然后直接go get
?刚接触 Go,包管理问题确实有被困扰到,想要探究一下究竟是怎么回事 :)
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.