猿问

在 Go 中构建 CLI 应用程序/包

我可能会错误地解决这个问题(我已经阅读了如何编写 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,另一个使用我的实际包代码(同样,其他人可以通过导入在开发中使用),但我真的希望它成为一个多合一回购。


宝慕林4294392
浏览 229回答 1
1回答
随时随地看视频慕课网APP

相关分类

Go
我要回答