我可能会错误地解决这个问题(我已经阅读了如何编写 Go 代码),但这是我想要实现的目标:我想编写一个带有 CLI 的 golang 包,以便用户可以使用在他们自己的程序中打包,但也使用我用它构建的 CLI。
所以到目前为止我所拥有的是这个结构:
mypackage/
-api/
-account.go // package api
-node.go // package api
-main.go // package main - this is where I want
// the executable code to be that is put in the `bin` folder.
这是一个非常粗糙的文件结构,因为我刚刚开始项目,但这就是我想要实现的目标,而不是构建一个包含可用代码的包,然后使用我的 CLI 构建一个单独的 repo。但是当我尝试运行时main.go,它说undefined: Account(这是一个结构体account.go)。
我的代码内容现在并不重要,它非常基础,因为我只是想让代码正常工作。这就是我所拥有的。
帐户.go
package api
import (
"io/ioutil"
"net/http"
)
type Account struct {
email string
}
main.go
package main
import (
"github.com/username/mypackage/api"
"fmt"
)
func main() {
a := Account{}
fmt.Printf("%T", a)
}
如果这是完全不好的做法,我想我只会制作 2 个 repos,一个使用 CLI,另一个使用我的实际包代码(同样,其他人可以通过导入在开发中使用),但我真的希望它成为一个多合一回购。
相关分类