我正在尝试使用 golang。所以我发明了一个小项目,想用不同的命令构建一个小型控制台应用程序。
我找到了 codegangsta/cli并尝试了这个例子。
package main
import (
"os"
"github.com/codegangsta/cli"
)
func main() {
app := cli.NewApp()
app.Commands = []cli.Command{
{
Name: "add",
Usage: "add a task to the list",
Action: func(c *cli.Context) {
println("added task: ", c.Args().First())
},
},
{
Name: "complete",
Usage: "complete a task on the list",
Action: func(c *cli.Context) {
println("completed task: ", c.Args().First())
},
},
}
app.Run(os.Args)
}
现在我想将 Commands-array 中的命令放在单独的文件中,并且只引用它们。
我怎样才能做到这一点?
感谢您的一些建议。
最佳答案
下面是拆分文件的几种方法中的一种:
在文件 main.go 中:
package main
import (
"os"
"github.com/codegangsta/cli"
)
func main() {
app := cli.NewApp()
app.Commands = []cli.Command{
addCommand,
completeCommand,
}
app.Run(os.Args)
}
在文件 comamnds.go 中写入:
package main
import (
"github.com/codegangsta/cli"
)
var addCommand = cli.Command{
Name: "add",
Usage: "add a task to the list",
Action: func(c *cli.Context) {
println("added task: ", c.Args().First())
},
}
var completeCommand cli.Command{
Name: "complete",
Usage: "complete a task on the list",
Action: func(c *cli.Context) {
println("completed task: ", c.Args().First())
},
}
关于go - 在同一包中自己的文件中单独实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29219958/