【发布时间】:2017-06-10 11:38:09
【问题描述】:
我尝试用 Go 编写我的第一个 CLI 应用程序。
我使用 codegangsta/cli 作为结构。
我的问题:
我有一些命令:
Add --name
Show --all
Delete --force
从文件 /commands/add.go 我无法从 /commands.go 中获取变量 StackName,如下所示:
package main
var StackName string
var Commands = []cli.Command{
{
Name: "add",
Usage: "",
Action: command.CmdAdd,
Flags: []cli.Flag{
cli.StringFlag{
Name: "name, n",
Value: "default",
Usage: "Stack name",
Destination: &StackName,
},
在我的 add.go 文件中,我尝试获取 $stackName 但我不知道如何执行此操作:
package command
func CmdAdd(c *cli.Context) {
fmt.PrintF(StackName)
}
我得到了这个:command/add.go:25: undefined: StackName。
感谢帮助找出我错的地方。
【问题讨论】:
-
我不太了解“codegangsta/cli”及其工作方式,但您在“package main”中声明变量并希望在“package command”中访问它。
标签: go command-line-interface undefined