Tim*_*all 5 nested command-line-interface go slice
我遇到的问题应该很简单.我正在研究使用codegangsta优秀cli软件包的东西,但我试图从嵌套结构中访问属性并失败.
举个例子,我有:
func Something() []cli.Flag {
return []cli.Flag{
cli.StringFlag{
Name: awesome
Usage: "be awesome"
},
cli.StringFlag{
Name: awesome2
},
<etc.>
}
Run Code Online (Sandbox Code Playgroud)
我有一个函数接收返回flags []cli.Flag并尝试打印出Name每个成员的字符串值,但我似乎无法访问切片中的嵌套内容.这样做的正确方法是什么?
编辑:这是我做的,加上Mayank的优秀答案
func PrintFlagsForDriver(name string) error {
for driverName := range drivers {
if name == driverName {
driver := drivers[driverName]
flags := driver.GetCreateFlags()
stringFlag, ok := flags[0].(cli.StringFlag)
if ok {
fmt.Println(stringFlag.Name)
}
}
}
return fmt.Errorf("Driver %s not found", name)
}
Run Code Online (Sandbox Code Playgroud)
我现在收到一个index out of range运行时错误,但我认为这是别的我做错了.