我正在尝试在 Go 中构建一个微服务架构项目。我目前正在使用支持模块的 Go 1.11,所以我将根目录放在任意选择的目录中,在GOPATH
.
如果我的微服务架构概念正确,虽然我的微服务需要独立,但它们可以共享依赖项(而且我没有看到另一种做事方式,是吗?)
下面是我的目录结构:
.
├── go.mod
├── lambda
│ └── account_create
│ └── main.go
├── readme.md
└── types
├── account.go
├── location.go
├── order.go
├── pricing.go
├── product.go
└── types.go
现在我期望的行为是能够运行go build lambda/account_create
并获得具有该功能的可执行文件,以便我可以将其提供给相应的 AWS Lambda 函数。
但是,当我运行命令时,我得到:
can't load package: package lambda/account_create: unknown import path "lambda/account_create": cannot find module providing package lambda/account_create
请解释我为什么这不起作用,并就这样的项目应该如何看待给我一些建议。
非常感谢!
编辑这是我的lambda/account_create/main.go
文件内容:
package account_create
import (
"fmt"
"roasted.ro/pkg/types"
)
func main() {
account := types.UserAccount{Name: "Victor"}
fmt.Printf("Welcome %s", account.Name)
}