gpt4 book ai didi

go - 在同一包中自己的文件中单独实现

转载 作者:IT王子 更新时间:2023-10-29 02:34:10 26 4
gpt4 key购买 nike

我正在尝试使用 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com